use of com.enonic.xp.security.User in project xp by enonic.
the class AuthenticationInfoTest method testWithPrincipals.
@Test
public void testWithPrincipals() {
final User user = User.create().login("userlogin").displayName("my user").key(PrincipalKey.ofUser(IdProviderKey.from("myidprovider"), "userid")).email("user@email").modifiedTime(Instant.now(clock)).build();
final IdProviderKey idProvider = IdProviderKey.from("myStore");
final PrincipalKey group1 = PrincipalKey.ofGroup(idProvider, "group1");
final PrincipalKey group2 = PrincipalKey.from("group:myStore:group2");
final PrincipalKey role1 = PrincipalKey.from("role:administrators");
final AuthenticationInfo info = AuthenticationInfo.create().user(user).principals(group1).principals(PrincipalKeys.from(group2, role1)).build();
assertEquals("userlogin", info.getUser().getLogin());
assertEquals("my user", info.getUser().getDisplayName());
assertEquals(PrincipalKey.from("user:myidprovider:userid"), info.getUser().getKey());
assertEquals(4, info.getPrincipals().getSize());
assertTrue(info.getPrincipals().contains(PrincipalKey.from("user:myidprovider:userid")));
assertTrue(info.getPrincipals().contains(group1));
assertTrue(info.getPrincipals().contains(group2));
assertTrue(info.getPrincipals().contains(role1));
assertFalse(info.hasRole("userid"));
assertFalse(info.hasRole("group1"));
assertFalse(info.hasRole("group2"));
assertTrue(info.hasRole("administrators"));
}
use of com.enonic.xp.security.User in project xp by enonic.
the class AuthenticationInfoTest method testCopy.
@Test
public void testCopy() {
final User user = User.create().login("userlogin").displayName("my user").key(PrincipalKey.ofUser(IdProviderKey.from("myidprovider"), "userid")).email("user@email").modifiedTime(Instant.now(clock)).build();
final IdProviderKey idProvider = IdProviderKey.from("myStore");
final PrincipalKey group1 = PrincipalKey.ofGroup(idProvider, "group1");
final PrincipalKey group2 = PrincipalKey.from("group:myStore:group2");
final PrincipalKey role1 = PrincipalKey.from("role:administrators");
final AuthenticationInfo info = AuthenticationInfo.create().user(user).principals(group1).principals(PrincipalKeys.from(group2, role1)).build();
final AuthenticationInfo copy = AuthenticationInfo.copyOf(info).build();
assertEquals(info, copy);
assertEquals(info.hashCode(), copy.hashCode());
}
use of com.enonic.xp.security.User in project xp by enonic.
the class AuthenticationInfoTest method testSerializationMinimalFields.
@Test
void testSerializationMinimalFields() throws Exception {
final User user = User.create().login("userlogin").key(PrincipalKey.ofUser(IdProviderKey.from("myidprovider"), "userid")).build();
final AuthenticationInfo info = AuthenticationInfo.create().user(user).build();
final byte[] serializedObject = serialize(info);
final AuthenticationInfo deserializedObject = (AuthenticationInfo) deserialize(serializedObject);
assertEquals(deserializedObject, info);
}
use of com.enonic.xp.security.User in project xp by enonic.
the class AuthenticationInfoTest method testWithoutPrincipals.
@Test
public void testWithoutPrincipals() {
final User user = User.create().login("userlogin").displayName("my user").key(PrincipalKey.ofUser(IdProviderKey.from("myidprovider"), "userid")).email("user@email").modifiedTime(Instant.now(clock)).build();
final AuthenticationInfo info = AuthenticationInfo.create().user(user).build();
assertEquals("userlogin", info.getUser().getLogin());
assertEquals("my user", info.getUser().getDisplayName());
assertEquals(PrincipalKey.from("user:myidprovider:userid"), info.getUser().getKey());
assertEquals(1, info.getPrincipals().getSize());
assertEquals(user.getKey(), info.getPrincipals().first());
assertFalse(info.hasRole("userid"));
}
use of com.enonic.xp.security.User in project xp by enonic.
the class DuplicateContentProcessor method process.
@Override
public PropertyTree process(final PropertyTree originalData) {
final User user = ContextAccessor.current().getAuthInfo().getUser();
final PropertyTree data = originalData.copy();
data.setInstant(ContentPropertyNames.CREATED_TIME, Instant.now());
data.setInstant(ContentPropertyNames.MODIFIED_TIME, Instant.now());
data.setString(ContentPropertyNames.OWNER, user.getKey().toString());
data.setString(ContentPropertyNames.CREATOR, user.getKey().toString());
data.setString(ContentPropertyNames.MODIFIER, user.getKey().toString());
if (data.hasProperty(ContentPropertyNames.PUBLISH_INFO)) {
data.removeProperty(ContentPropertyNames.PUBLISH_INFO);
}
if (data.hasProperty(ContentPropertyNames.INHERIT)) {
data.removeProperties(ContentPropertyNames.INHERIT);
}
if (data.hasProperty(ContentPropertyNames.ORIGIN_PROJECT)) {
data.removeProperty(ContentPropertyNames.ORIGIN_PROJECT);
}
return data;
}
Aggregations