@Service(value="cuba_UserManagementService") public class UserManagementServiceBean extends java.lang.Object implements UserManagementService
Modifier and Type | Class and Description |
---|---|
protected static class |
UserManagementServiceBean.EmailTemplate
Template pair : subject + body
|
Modifier and Type | Field and Description |
---|---|
protected static java.lang.String |
CHANGE_PASSWORD_VIEW |
protected static java.lang.String |
CHECK_PASSWORD_VIEW |
protected EmailerAPI |
emailerAPI |
protected static java.lang.String |
GROUP_COPY_VIEW |
protected Messages |
messages |
protected MessageTools |
messageTools |
protected Metadata |
metadata |
protected static java.lang.String |
MOVE_USER_TO_GROUP_VIEW |
protected PasswordEncryption |
passwordEncryption |
protected Persistence |
persistence |
protected static java.lang.String |
RESET_PASSWORD_VIEW |
protected Resources |
resources |
protected static java.lang.String |
ROLE_COPY_VIEW |
protected Scripting |
scripting |
protected Security |
security |
protected ServerConfig |
serverConfig |
protected TimeSource |
timeSource |
protected UserSessionSource |
userSessionSource |
NAME
Constructor and Description |
---|
UserManagementServiceBean() |
Modifier and Type | Method and Description |
---|---|
void |
changeGroupParent(java.util.UUID groupId,
java.util.UUID newParentId)
Sets new parent group in separate transaction.
|
java.util.Map<java.util.UUID,java.lang.String> |
changePasswordsAtLogon(java.util.List<java.util.UUID> userIds,
boolean generatePassword)
Make specified users to change passwords at next logon.
|
java.lang.Integer |
changePasswordsAtLogonAndSendEmails(java.util.List<java.util.UUID> userIds)
Update passwords for specified users, send them emails with new generated passwords and make them change
passwords at next logon.
|
void |
changeUserPassword(java.util.UUID userId,
java.lang.String newPasswordHash)
Change password for user
|
boolean |
checkPassword(java.util.UUID userId,
java.lang.String passwordHash) |
protected void |
checkPermission(java.lang.Class entityClass,
EntityOp op) |
protected void |
checkUpdatePermission(java.lang.Class entityClass) |
protected Constraint |
cloneConstraint(Constraint constraint,
Group group) |
protected Group |
cloneGroup(Group group,
Group parent,
java.util.Set<java.lang.String> groupNames,
EntityManager em) |
protected Permission |
clonePermission(Permission permission,
Role role) |
protected Role |
cloneRole(Role role,
java.util.Set<java.lang.String> roleNames,
EntityManager em) |
protected SessionAttribute |
cloneSessionAttribute(SessionAttribute attribute,
Group group) |
Group |
copyAccessGroup(java.util.UUID accessGroupId)
Copy access group with all its properties and subgroups.
|
Role |
copyRole(java.util.UUID roleId)
Copy user role with all its permissions.
|
protected java.lang.String |
generateName(java.lang.String originalGroupName,
java.util.Set<java.lang.String> groupNames) |
java.lang.String |
generateRememberMeToken(java.util.UUID userId)
Generate and store to DB
RememberMeToken |
protected UserManagementServiceBean.EmailTemplate |
getResetPasswordTemplate(User user,
groovy.text.SimpleTemplateEngine templateEngine,
java.lang.String resetPasswordSubjectTemplate,
java.lang.String resetPasswordBodyTemplate,
groovy.text.Template subjectDefaultTemplate,
groovy.text.Template bodyDefaultTemplate,
java.util.Map<java.lang.String,groovy.text.Template> localizedSubjectTemplates,
java.util.Map<java.lang.String,groovy.text.Template> localizedBodyTemplates) |
java.util.List<java.lang.String> |
getSessionAttributeNames(java.util.UUID groupId)
Get names of session attributes defined for the given group and all its parent groups.
|
java.util.List<UserSubstitution> |
getSubstitutedUsers(java.util.UUID userId)
Get list of substituted users by user id.
|
protected groovy.text.Template |
getTemplate(groovy.text.SimpleTemplateEngine templateEngine,
java.lang.String templateString) |
boolean |
isAnonymousUser(java.lang.String userLogin)
Checks if user is anonymous user.
|
boolean |
isUsersRemovingAllowed(java.util.Collection<java.lang.String> userLogins)
Checks whether removing of users with the given logins is allowed
|
protected groovy.text.Template |
loadDefaultTemplate(java.lang.String templatePath,
groovy.text.SimpleTemplateEngine templateEngine) |
java.lang.String |
loadOwnLocale()
Load current user's language.
|
UserTimeZone |
loadOwnTimeZone()
Load current user's time zone settings.
|
java.lang.Integer |
moveUsersToGroup(java.util.List<java.util.UUID> userIds,
java.util.UUID targetAccessGroupId)
Move specified users to a new access group.
|
void |
resetRememberMeTokens()
Remove remember me tokens for all users.
|
void |
resetRememberMeTokens(java.util.List<java.util.UUID> userIds)
Remove remember me tokens for users.
|
void |
saveOwnLocale(java.lang.String locale)
Save current user's language settings.
|
void |
saveOwnTimeZone(UserTimeZone timeZone)
Save current user's time zone settings.
|
protected void |
sendResetPasswordEmail(User user,
java.lang.String password,
groovy.text.Template subjectTemplate,
groovy.text.Template bodyTemplate) |
protected java.util.Map<User,java.lang.String> |
updateUserPasswords(java.util.List<java.util.UUID> userIds,
boolean generatePassword) |
protected static final java.lang.String GROUP_COPY_VIEW
protected static final java.lang.String ROLE_COPY_VIEW
protected static final java.lang.String MOVE_USER_TO_GROUP_VIEW
protected static final java.lang.String RESET_PASSWORD_VIEW
protected static final java.lang.String CHANGE_PASSWORD_VIEW
protected static final java.lang.String CHECK_PASSWORD_VIEW
@Inject protected Persistence persistence
@Inject protected Metadata metadata
@Inject protected PasswordEncryption passwordEncryption
@Inject protected EmailerAPI emailerAPI
@Inject protected Resources resources
@Inject protected Scripting scripting
@Inject protected ServerConfig serverConfig
@Inject protected UserSessionSource userSessionSource
@Inject protected MessageTools messageTools
@Inject protected Security security
@Inject protected Messages messages
@Inject protected TimeSource timeSource
protected void checkUpdatePermission(java.lang.Class entityClass)
protected void checkPermission(java.lang.Class entityClass, EntityOp op)
public Group copyAccessGroup(java.util.UUID accessGroupId)
UserManagementService
copyAccessGroup
in interface UserManagementService
accessGroupId
- Source access group Idpublic Role copyRole(java.util.UUID roleId)
UserManagementService
copyRole
in interface UserManagementService
roleId
- Source access role Idpublic java.lang.Integer moveUsersToGroup(java.util.List<java.util.UUID> userIds, @Nullable java.util.UUID targetAccessGroupId)
UserManagementService
moveUsersToGroup
in interface UserManagementService
userIds
- Ids for moved userstargetAccessGroupId
- Id of target access group, may be nullpublic java.lang.Integer changePasswordsAtLogonAndSendEmails(java.util.List<java.util.UUID> userIds)
UserManagementService
changePasswordsAtLogonAndSendEmails
in interface UserManagementService
userIds
- User idspublic java.util.Map<java.util.UUID,java.lang.String> changePasswordsAtLogon(java.util.List<java.util.UUID> userIds, boolean generatePassword)
UserManagementService
changePasswordsAtLogon
in interface UserManagementService
userIds
- User idsgeneratePassword
- Generate new passwordspublic boolean checkPassword(java.util.UUID userId, java.lang.String passwordHash)
checkPassword
in interface UserManagementService
userId
- User idpasswordHash
- Plain hash of new passwordpublic void resetRememberMeTokens(java.util.List<java.util.UUID> userIds)
UserManagementService
resetRememberMeTokens
in interface UserManagementService
userIds
- User idspublic void resetRememberMeTokens()
UserManagementService
resetRememberMeTokens
in interface UserManagementService
public java.lang.String generateRememberMeToken(java.util.UUID userId)
UserManagementService
RememberMeToken
generateRememberMeToken
in interface UserManagementService
public java.util.List<java.lang.String> getSessionAttributeNames(java.util.UUID groupId)
UserManagementService
getSessionAttributeNames
in interface UserManagementService
groupId
- Group identifierpublic UserTimeZone loadOwnTimeZone()
UserManagementService
loadOwnTimeZone
in interface UserManagementService
public void saveOwnTimeZone(UserTimeZone timeZone)
UserManagementService
saveOwnTimeZone
in interface UserManagementService
public java.lang.String loadOwnLocale()
UserManagementService
loadOwnLocale
in interface UserManagementService
public void saveOwnLocale(java.lang.String locale)
UserManagementService
saveOwnLocale
in interface UserManagementService
public void changeUserPassword(java.util.UUID userId, java.lang.String newPasswordHash)
UserManagementService
changeUserPassword
in interface UserManagementService
userId
- user idnewPasswordHash
- password hashpublic void changeGroupParent(java.util.UUID groupId, java.util.UUID newParentId)
UserManagementService
changeGroupParent
in interface UserManagementService
groupId
- id of groupnewParentId
- id of new parent groupprotected UserManagementServiceBean.EmailTemplate getResetPasswordTemplate(User user, groovy.text.SimpleTemplateEngine templateEngine, java.lang.String resetPasswordSubjectTemplate, java.lang.String resetPasswordBodyTemplate, groovy.text.Template subjectDefaultTemplate, groovy.text.Template bodyDefaultTemplate, java.util.Map<java.lang.String,groovy.text.Template> localizedSubjectTemplates, java.util.Map<java.lang.String,groovy.text.Template> localizedBodyTemplates)
protected groovy.text.Template getTemplate(groovy.text.SimpleTemplateEngine templateEngine, java.lang.String templateString)
protected groovy.text.Template loadDefaultTemplate(java.lang.String templatePath, groovy.text.SimpleTemplateEngine templateEngine)
protected void sendResetPasswordEmail(User user, java.lang.String password, groovy.text.Template subjectTemplate, groovy.text.Template bodyTemplate)
protected java.util.Map<User,java.lang.String> updateUserPasswords(java.util.List<java.util.UUID> userIds, boolean generatePassword)
protected Role cloneRole(Role role, java.util.Set<java.lang.String> roleNames, EntityManager em)
protected Group cloneGroup(Group group, Group parent, java.util.Set<java.lang.String> groupNames, EntityManager em)
protected java.lang.String generateName(java.lang.String originalGroupName, java.util.Set<java.lang.String> groupNames)
protected SessionAttribute cloneSessionAttribute(SessionAttribute attribute, Group group)
protected Constraint cloneConstraint(Constraint constraint, Group group)
protected Permission clonePermission(Permission permission, Role role)
public boolean isUsersRemovingAllowed(java.util.Collection<java.lang.String> userLogins)
UserManagementService
isUsersRemovingAllowed
in interface UserManagementService
userLogins
- user loginspublic boolean isAnonymousUser(java.lang.String userLogin)
UserManagementService
isAnonymousUser
in interface UserManagementService
userLogin
- user loginpublic java.util.List<UserSubstitution> getSubstitutedUsers(java.util.UUID userId)
UserManagementService
getSubstitutedUsers
in interface UserManagementService
userId
- user id