private boolean contains(List<User> result, String userId) { for (User resultUser : result) { if (resultUser.getId().equals(userId)) { return true; } } return false; } }
private boolean isAuthenticationRequestWithDifferentUserId() { return isLoggedIn() && this.loginCredential.getUserId() != null && !this.loginCredential.getUserId().equals(this.user.getId()); }
private User removeUser(User user) { getConfig().getUsers().remove(user.getId()); for (GroupRole membership : new ArrayList<GroupRole>(getConfig().getMemberships())) { IdentityType member = membership.getMember(); if (IDMUtil.isUserType(member.getClass())) { User userMember = (User) member; if (userMember.getId().equals(user.getId())) { getConfig().getMemberships().remove(membership); } } } flushUsers(); flushMemberships(); return user; }
/** * <p> * Resolves the value of the identifier for the given {@link IdentityType}. * </p> * * @param identityType * @return */ private String getIdentifierValue(IdentityType identityType) { String value = null; if (IDMUtil.isUserType(identityType.getClass())) { value = ((User) identityType).getId(); } else if (IDMUtil.isAgentType(identityType.getClass())) { value = ((Agent) identityType).getId(); } else if (IDMUtil.isRoleType(identityType.getClass())) { value = ((Role) identityType).getName(); } else if (IDMUtil.isGroupType(identityType.getClass())) { value = ((Group) identityType).getName(); } else if (IDMUtil.isRelationshipType(identityType.getClass())) { value = ((Relationship) identityType).getName(); } return value; }
private User addUser(User user) { User storedUser = new SimpleUser(user.getId()); storedUser.setFirstName(user.getFirstName()); storedUser.setLastName(user.getLastName()); storedUser.setEmail(user.getEmail()); updateCommonProperties(user, storedUser); getConfig().getUsers().put(storedUser.getId(), storedUser); flushUsers(); return storedUser; }
protected User addUser(User user) { if (user.getId() == null) { throw new IdentityManagementException("No identifier was provided."); } LDAPUser ldapUser = null; if (!(user instanceof LDAPUser)) { ldapUser = convert(user); } else { ldapUser = (LDAPUser) user; } ldapUser.setFullName(ldapUser.getUserCN()); store(ldapUser); return ldapUser; }
/** * <p> * Find an {@link User} by id. * </p> * * @throws Exception */ @Test public void testFindById() throws Exception { loadOrCreateUser("admin", true); IdentityManager identityManager = getIdentityManager(); IdentityQuery<User> query = identityManager.<User> createQuery(User.class); query.setParameter(User.ID, "admin"); List<User> result = query.getResultList(); assertFalse(result.isEmpty()); assertTrue(result.size() == 1); assertEquals("admin", result.get(0).getId()); }
@Override protected void doPopulateIdentityInstance(Object toIdentity, User fromUser, JPAIdentityStore store) { store.setModelProperty(toIdentity, PROPERTY_IDENTITY_ID, fromUser.getId(), true); store.setModelProperty(toIdentity, PROPERTY_USER_FIRST_NAME, fromUser.getFirstName()); store.setModelProperty(toIdentity, PROPERTY_USER_LAST_NAME, fromUser.getLastName()); store.setModelProperty(toIdentity, PROPERTY_USER_EMAIL, fromUser.getEmail()); }
private User updateUser(User updatedUser, User storedUser) { if (storedUser != updatedUser) { storedUser.setFirstName(updatedUser.getFirstName()); storedUser.setLastName(updatedUser.getLastName()); storedUser.setEmail(updatedUser.getEmail()); updateCommonProperties(updatedUser, storedUser); } getConfig().getUsers().put(storedUser.getId(), storedUser); flushUsers(); return updatedUser; }
/** * <p> * Loads from the LDAP tree an already stored user. * </p> * * @throws Exception */ @Test public void testGet() throws Exception { User storedUserInstance = getIdentityType(true); IdentityManager identityManager = getIdentityManager(); storedUserInstance = identityManager.getUser(storedUserInstance.getId()); assertNotNull(storedUserInstance); assertEquals("admin", storedUserInstance.getId()); assertEquals("The", storedUserInstance.getFirstName()); assertEquals("Administrator", storedUserInstance.getLastName()); assertEquals("admin@jboss.org", storedUserInstance.getEmail()); }
/** * <p> * Find an {@link User} by his associated {@link Role}. * </p> * * @throws Exception */ @Test public void testFindBySingleRole() throws Exception { User user = loadOrCreateUser("admin", true); Role administratorRole = loadOrCreateRole("Administrators", true); IdentityManager identityManager = getIdentityManager(); IdentityQuery<User> query = identityManager.createQuery(User.class); query.setParameter(User.HAS_ROLE, new String[] { "Administrators" }); List<User> result = query.getResultList(); assertTrue(result.isEmpty()); identityManager.grantRole(user, administratorRole); query = identityManager.createQuery(User.class); query.setParameter(User.HAS_ROLE, new String[] { "Administrators" }); result = query.getResultList(); assertFalse(result.isEmpty()); assertEquals(user.getId(), result.get(0).getId()); }
/** * <p> * Find an {@link User} by his associated {@link Group}. * </p> * * @throws Exception */ @Test public void testFindBySingleGroup() throws Exception { User user = loadOrCreateUser("admin", true); Group administratorGroup = loadOrCreateGroup("Administrators", null, true); IdentityManager identityManager = getIdentityManager(); IdentityQuery<User> query = identityManager.createQuery(User.class); query.setParameter(User.MEMBER_OF, new String[] { "Administrators" }); List<User> result = query.getResultList(); assertTrue(result.isEmpty()); identityManager.addToGroup(user, administratorGroup); query = identityManager.createQuery(User.class); query.setParameter(User.MEMBER_OF, new String[] { "Administrators" }); result = query.getResultList(); assertFalse(result.isEmpty()); assertEquals(user.getId(), result.get(0).getId()); }
/** * <p> * Find an {@link User} by email. * </p> * * @throws Exception */ @Test public void testFindByEmail() throws Exception { User user = loadOrCreateUser("admin", true); user.setEmail("admin@jboss.org"); IdentityManager identityManager = getIdentityManager(); identityManager.update(user); IdentityQuery<User> query = identityManager.<User> createQuery(User.class); query.setParameter(User.EMAIL, "admin@jboss.org"); List<User> result = query.getResultList(); assertFalse(result.isEmpty()); assertTrue(result.size() == 1); assertEquals("admin", result.get(0).getId()); query = identityManager.<User> createQuery(User.class); query.setParameter(User.EMAIL, "badadmin@jboss.org"); result = query.getResultList(); assertTrue(result.isEmpty()); }
/** * <p> * Find an {@link User} by his associated {@link Group} and {@link Role}. * </p> * * @throws Exception */ @Test public void testFindBySingleGroupRole() throws Exception { User user = loadOrCreateUser("someUser", true); Group salesGroup = loadOrCreateGroup("Sales", null, true); Role managerRole = loadOrCreateRole("Manager", true); IdentityManager identityManager = getIdentityManager(); IdentityQuery<User> query = identityManager.createQuery(User.class); query.setParameter(User.HAS_GROUP_ROLE, new GroupRole[] { new SimpleGroupRole(user, managerRole, salesGroup) }); List<User> result = query.getResultList(); assertTrue(result.isEmpty()); identityManager.grantGroupRole(user, managerRole, salesGroup); query = identityManager.createQuery(User.class); query.setParameter(User.HAS_GROUP_ROLE, new GroupRole[] { new SimpleGroupRole(user, managerRole, salesGroup) }); result = query.getResultList(); assertFalse(result.isEmpty()); assertEquals(user.getId(), result.get(0).getId()); }
@Override public void removeMembership(IdentityType member, Group group, Role role) { if (member instanceof User) { LDAPUser ldapUser = (LDAPUser) getUser(((User) member).getId()); LDAPRole ldapRole = null; if (role != null) { ldapRole = (LDAPRole) getRole(role.getName()); } LDAPGroup ldapGroup = null; if (group != null) { ldapGroup = (LDAPGroup) getGroup(group.getName()); } if (group != null && role != null) { LDAPGroupRole groupRole = new LDAPGroupRole(ldapUser, ldapGroup, ldapRole); removeMemberShipEntry(groupRole, ldapRole); } else { if (ldapRole != null) { removeMember(ldapRole, ldapUser); } if (ldapGroup != null) { removeMember(ldapGroup, ldapUser); } } } else if (member instanceof Group) { // FIXME implement Group membership if supported } }
/** * <p> * Remove from the LDAP tree an already stored user. * </p> * * @throws Exception */ @Test public void testRemove() throws Exception { IdentityManager identityManager = getIdentityManager(); User someUser = getIdentityType(true); User anotherUser = loadOrCreateUser("someAnotherUser", true); assertNotNull(someUser); assertNotNull(anotherUser); identityManager.remove(someUser); User removedUserInstance = getIdentityManager().getUser(someUser.getId()); assertNull(removedUserInstance); anotherUser = identityManager.getUser(anotherUser.getId()); assertNotNull(anotherUser); }
/** * <p> * Tests a successful validation. * </p> * * @throws Exception */ @Test public void testSuccessfulValidation() throws Exception { IdentityManager identityManager = getIdentityManager(); User user = loadOrCreateUser("someUser", true); Password plainTextPassword = new Password("updated_password".toCharArray()); identityManager.updateCredential(user, plainTextPassword, new Date(), null); UsernamePasswordCredentials credential = new UsernamePasswordCredentials(); credential.setUsername(user.getId()); credential.setPassword(plainTextPassword); identityManager.validateCredentials(credential); Assert.assertEquals(Status.VALID, credential.getStatus()); }
/** * <p> * Tests a unsuccessful validation. * </p> * * @throws Exception */ @Test public void testUnsuccessfulValidation() throws Exception { IdentityManager identityManager = getIdentityManager(); User user = loadOrCreateUser("someUser", true); Password plainTextPassword = new Password("updated_password".toCharArray()); identityManager.updateCredential(user, plainTextPassword, new Date(), null); UsernamePasswordCredentials badUserName = new UsernamePasswordCredentials(); badUserName.setUsername("Bad" + user.getId()); badUserName.setPassword(plainTextPassword); identityManager.validateCredentials(badUserName); Assert.assertEquals(Status.INVALID, badUserName.getStatus()); UsernamePasswordCredentials badPassword = new UsernamePasswordCredentials(); plainTextPassword = new Password("bad_password".toCharArray()); badPassword.setUsername(user.getId()); badPassword.setPassword(plainTextPassword); identityManager.validateCredentials(badPassword); Assert.assertEquals(Status.INVALID, badPassword.getStatus()); }