public User getPopulatedUser(String userName, IdentitySession session, UserStatus userStatus) throws Exception { Object u = null; orgService.flush(); try { u = session.getPersistenceManager().findUser(userName); } catch (Exception e) { handleException("Cannot obtain user: " + userName + "; ", e); } if (u == null) { return null; } User user = new UserImpl(userName); populateUser(user, session); return userStatus.matches(user.isEnabled()) ? user : null; }
public void saveUser(User user, boolean broadcast) throws Exception { if (log.isTraceEnabled()) { Tools.logMethodIn(log, LogLevel.TRACE, "saveUser", new Object[] { "user", user, "broadcast", broadcast }); } if (user != null && !user.isEnabled()) { throw new DisabledUserException(user.getUserName()); } IdentitySession session = service_.getIdentitySession(); if (broadcast) { preSave(user, false); } persistUserInfo(user, session, false); if (broadcast) { postSave(user, false); } }
@Override public User setEnabled(String userName, boolean enabled, boolean broadcast) throws Exception { if (log.isTraceEnabled()) { Tools.logMethodIn(log, LogLevel.TRACE, "setEnabled", new Object[] { "userName", userName, "enabled", enabled, "broadcast", broadcast }); } orgService.flush(); IdentitySession session = service_.getIdentitySession(); User foundUser = getPopulatedUser(userName, session, UserStatus.ANY); if (foundUser == null || foundUser.isEnabled() == enabled) { return foundUser; } ((UserImpl) foundUser).setEnabled(enabled); if (broadcast) preSetEnabled(foundUser); Attribute[] attrs = new Attribute[] { new SimpleAttribute(USER_ENABLED, String.valueOf(enabled)) }; AttributesManager am = session.getAttributesManager(); try { am.updateAttributes(userName, attrs); } catch (Exception e) { handleException("Cannot update enabled status for user: " + userName + "; ", e); } if (getIntegrationCache() != null) { getIntegrationCache().invalidateAll(); } if (broadcast) postSetEnabled(foundUser); return foundUser; }
if (!user.isEnabled()) { throw new DisabledUserException(username);
public User findUserByUniqueAttribute(String attributeName, String attributeValue, UserStatus userStatus) throws Exception { if (log.isTraceEnabled()) { Tools.logMethodIn(log, LogLevel.TRACE, "findUserByUniqueAttribute", new Object[] { "findUserByUniqueAttribute", attributeName, attributeValue, userStatus }); } IdentitySession session = service_.getIdentitySession(); org.picketlink.idm.api.User plUser = null; try { orgService.flush(); plUser = session.getAttributesManager().findUserByUniqueAttribute(attributeName, attributeValue); } catch (Exception e) { handleException("Cannot find user by unique attribute: attrName=" + attributeName + ", attrValue=" + attributeValue + "; ", e); } User user = null; if (plUser != null) { user = new UserImpl(plUser.getId()); populateUser(user, session); if (!userStatus.matches(user.isEnabled())) { user = null; } } if (log.isTraceEnabled()) { Tools.logMethodOut(log, LogLevel.TRACE, "findUserByUniqueAttribute", user); } return user; }