@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 DataManager |
dataManager |
protected EmailerAPI |
emailerAPI |
protected GlobalConfig |
globalConfig |
protected static java.lang.String |
GROUP_COPY_VIEW |
protected Messages |
messages |
protected MessageTools |
messageTools |
protected Metadata |
metadata |
protected PasswordEncryption |
passwordEncryption |
protected Persistence |
persistence |
protected PredefinedRoleDefinitionRepository |
predefinedRoleDefinitionRepository |
protected Resources |
resources |
protected static java.lang.String |
ROLE_COPY_VIEW |
protected RolesHelper |
rolesHelper |
protected Scripting |
scripting |
protected Security |
security |
protected ServerConfig |
serverConfig |
protected TimeSource |
timeSource |
protected static java.lang.String |
USER_CHANGE_PASSWORD_VIEW |
protected static java.lang.String |
USER_CHECK_PASSWORD_VIEW |
protected static java.lang.String |
USER_MOVE_TO_GROUP_VIEW |
protected static java.lang.String |
USER_RESET_PASSWORD_VIEW |
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.lang.String newRoleName,
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.lang.String predefinedRoleName)
Copy predefined user role with all its permissions.
|
Role |
copyRole(java.util.UUID roleId)
Copy user role with all its permissions.
|
protected java.lang.String |
generateName(EntityManager em,
java.lang.String roleName) |
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 |
isRememberMeTokenValid(java.lang.String login,
java.lang.String rememberMeToken)
Checks that the given
rememberMeToken exists and is not expired. |
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.
|
protected RememberMeToken |
loadRememberMeToken(java.lang.String login,
java.lang.String rememberMeToken) |
java.lang.Integer |
moveUsersToGroup(java.util.List<java.util.UUID> userIds,
java.lang.String groupName)
Move specified users to a new predefined access group.
|
java.lang.Integer |
moveUsersToGroup(java.util.List<java.util.UUID> userIds,
java.util.UUID groupId)
Move specified users to a new database access group.
|
protected java.lang.Integer |
moveUsersToGroup(java.util.List<java.util.UUID> userIds,
java.util.UUID groupId,
java.lang.String groupName) |
void |
removeRememberMeTokens(java.util.List<java.lang.String> rememberMeTokens)
Removes the given
rememberMeTokens . |
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 USER_MOVE_TO_GROUP_VIEW
protected static final java.lang.String USER_RESET_PASSWORD_VIEW
protected static final java.lang.String USER_CHANGE_PASSWORD_VIEW
protected static final java.lang.String USER_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 DataManager dataManager
@Inject protected TimeSource timeSource
@Inject protected GlobalConfig globalConfig
@Inject protected RolesHelper rolesHelper
@Inject protected PredefinedRoleDefinitionRepository predefinedRoleDefinitionRepository
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.lang.String predefinedRoleName)
UserManagementService
copyRole
in interface UserManagementService
predefinedRoleName
- Source access role namepublic 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 groupId)
UserManagementService
moveUsersToGroup
in interface UserManagementService
userIds
- Ids for moved usersgroupId
- Id of target access group, may be nullpublic java.lang.Integer moveUsersToGroup(java.util.List<java.util.UUID> userIds, @Nullable java.lang.String groupName)
UserManagementService
moveUsersToGroup
in interface UserManagementService
userIds
- Ids for moved usersgroupName
- target access group nameprotected java.lang.Integer moveUsersToGroup(java.util.List<java.util.UUID> userIds, @Nullable java.util.UUID groupId, @Nullable java.lang.String groupName)
public 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 void removeRememberMeTokens(java.util.List<java.lang.String> rememberMeTokens)
UserManagementService
rememberMeTokens
.removeRememberMeTokens
in interface UserManagementService
rememberMeTokens
- remember be tokens to removepublic boolean isRememberMeTokenValid(java.lang.String login, java.lang.String rememberMeToken)
UserManagementService
rememberMeToken
exists and is not expired.isRememberMeTokenValid
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 java.lang.String generateName(EntityManager em, java.lang.String roleName)
protected Role cloneRole(Role role, java.lang.String newRoleName, 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)
@Nullable protected RememberMeToken loadRememberMeToken(java.lang.String login, java.lang.String rememberMeToken)
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