@Service(value="blAdminSecurityService") public class AdminSecurityServiceImpl extends Object implements AdminSecurityService
Modifier and Type | Field and Description |
---|---|
protected AdminRoleDao |
adminRoleDao |
protected AdminUserDao |
adminUserDao |
protected EmailService |
emailService |
protected ForgotPasswordSecurityTokenDao |
forgotPasswordSecurityTokenDao |
protected org.springframework.security.authentication.encoding.PasswordEncoder |
passwordEncoder |
protected EmailInfo |
resetPasswordEmailInfo |
protected String |
resetPasswordURL |
protected String |
salt
Deprecated.
use
saltSource instead |
protected org.springframework.security.authentication.dao.SaltSource |
saltSource
Use a Salt Source ONLY if there's one configured
|
protected EmailInfo |
sendUsernameEmailInfo |
protected int |
tokenExpiredMinutes |
DEFAULT_PERMISSIONS
Constructor and Description |
---|
AdminSecurityServiceImpl() |
Modifier and Type | Method and Description |
---|---|
AdminUser |
changePassword(PasswordChange passwordChange) |
GenericResponse |
changePassword(String username,
String oldPassword,
String password,
String confirmPassword) |
protected void |
checkExistingPassword(String password,
AdminUser user,
GenericResponse response) |
protected void |
checkPassword(String password,
String confirmPassword,
GenericResponse response) |
protected void |
checkUser(AdminUser user,
GenericResponse response) |
void |
deleteAdminPermission(AdminPermission permission) |
void |
deleteAdminRole(AdminRole role) |
void |
deleteAdminUser(AdminUser user) |
boolean |
doesOperationExistForCeilingEntity(PermissionType permissionType,
String ceilingEntityFullyQualifiedName) |
protected String |
generateSecurePassword() |
static int |
getPASSWORD_TOKEN_LENGTH() |
EmailInfo |
getResetPasswordEmailInfo() |
String |
getResetPasswordURL() |
String |
getSalt() |
Object |
getSalt(AdminUser user,
String unencodedPassword)
Gets the salt object for the current admin user.
|
org.springframework.security.authentication.dao.SaltSource |
getSaltSource()
Returns the
SaltSource used with the blAdminPasswordEncoder to encrypt the user password. |
EmailInfo |
getSendUsernameEmailInfo() |
int |
getTokenExpiredMinutes() |
protected boolean |
isTokenExpired(ForgotPasswordSecurityToken fpst) |
boolean |
isUserQualifiedForOperationOnCeilingEntity(AdminUser adminUser,
PermissionType permissionType,
String ceilingEntityFullyQualifiedName) |
AdminPermission |
readAdminPermissionById(Long id) |
AdminRole |
readAdminRoleById(Long id) |
AdminUser |
readAdminUserById(Long id) |
AdminUser |
readAdminUserByUserName(String userName) |
List<AdminPermission> |
readAllAdminPermissions() |
List<AdminRole> |
readAllAdminRoles() |
List<AdminUser> |
readAllAdminUsers() |
GenericResponse |
resetPasswordUsingToken(String username,
String token,
String password,
String confirmPassword)
Updates the password for the passed in user only if the passed
in token is valid for that user.
|
AdminPermission |
saveAdminPermission(AdminPermission permission) |
AdminRole |
saveAdminRole(AdminRole role) |
AdminUser |
saveAdminUser(AdminUser user) |
GenericResponse |
sendForgotUsernameNotification(String emailAddress)
Looks up the corresponding AdminUser and emails the address on file with
the associated username.
|
GenericResponse |
sendResetPasswordNotification(String username)
Generates an access token and then emails the user.
|
static void |
setPASSWORD_TOKEN_LENGTH(int PASSWORD_TOKEN_LENGTH) |
void |
setResetPasswordEmailInfo(EmailInfo resetPasswordEmailInfo) |
void |
setResetPasswordURL(String resetPasswordURL) |
void |
setSalt(String salt) |
void |
setSaltSource(org.springframework.security.authentication.dao.SaltSource saltSource)
Sets the
SaltSource used with blAdminPasswordencoder to encrypt the user password. |
void |
setSendUsernameEmailInfo(EmailInfo sendUsernameEmailInfo) |
void |
setTokenExpiredMinutes(int tokenExpiredMinutes) |
protected AdminRoleDao adminRoleDao
protected AdminUserDao adminUserDao
protected ForgotPasswordSecurityTokenDao forgotPasswordSecurityTokenDao
protected org.springframework.security.authentication.encoding.PasswordEncoder passwordEncoder
@Deprecated protected String salt
saltSource
instead@Autowired(required=false) @Qualifier(value="blAdminSaltSource") protected org.springframework.security.authentication.dao.SaltSource saltSource
protected EmailService emailService
protected EmailInfo resetPasswordEmailInfo
protected EmailInfo sendUsernameEmailInfo
@Value(value="${tokenExpiredMinutes}") protected int tokenExpiredMinutes
@Value(value="${resetPasswordURL}") protected String resetPasswordURL
@Transactional(value="blTransactionManager") public void deleteAdminPermission(AdminPermission permission)
deleteAdminPermission
in interface AdminSecurityService
@Transactional(value="blTransactionManager") public void deleteAdminRole(AdminRole role)
deleteAdminRole
in interface AdminSecurityService
@Transactional(value="blTransactionManager") public void deleteAdminUser(AdminUser user)
deleteAdminUser
in interface AdminSecurityService
public AdminPermission readAdminPermissionById(Long id)
readAdminPermissionById
in interface AdminSecurityService
public AdminRole readAdminRoleById(Long id)
readAdminRoleById
in interface AdminSecurityService
public AdminUser readAdminUserById(Long id)
readAdminUserById
in interface AdminSecurityService
@Transactional(value="blTransactionManager") public AdminPermission saveAdminPermission(AdminPermission permission)
saveAdminPermission
in interface AdminSecurityService
@Transactional(value="blTransactionManager") public AdminRole saveAdminRole(AdminRole role)
saveAdminRole
in interface AdminSecurityService
@Transactional(value="blTransactionManager") public AdminUser saveAdminUser(AdminUser user)
saveAdminUser
in interface AdminSecurityService
protected String generateSecurePassword()
@Transactional(value="blTransactionManager") public AdminUser changePassword(PasswordChange passwordChange)
changePassword
in interface AdminSecurityService
public boolean isUserQualifiedForOperationOnCeilingEntity(AdminUser adminUser, PermissionType permissionType, String ceilingEntityFullyQualifiedName)
isUserQualifiedForOperationOnCeilingEntity
in interface AdminSecurityService
public boolean doesOperationExistForCeilingEntity(PermissionType permissionType, String ceilingEntityFullyQualifiedName)
doesOperationExistForCeilingEntity
in interface AdminSecurityService
public AdminUser readAdminUserByUserName(String userName)
readAdminUserByUserName
in interface AdminSecurityService
public List<AdminUser> readAllAdminUsers()
readAllAdminUsers
in interface AdminSecurityService
public List<AdminRole> readAllAdminRoles()
readAllAdminRoles
in interface AdminSecurityService
public List<AdminPermission> readAllAdminPermissions()
readAllAdminPermissions
in interface AdminSecurityService
@Transactional(value="blTransactionManager") public GenericResponse sendForgotUsernameNotification(String emailAddress)
AdminSecurityService
sendForgotUsernameNotification
in interface AdminSecurityService
@Transactional(value="blTransactionManager") public GenericResponse sendResetPasswordNotification(String username)
AdminSecurityService
sendResetPasswordNotification
in interface AdminSecurityService
@Transactional(value="blTransactionManager") public GenericResponse resetPasswordUsingToken(String username, String token, String password, String confirmPassword)
AdminSecurityService
resetPasswordUsingToken
in interface AdminSecurityService
username
- Name of the usertoken
- Valid reset tokenpassword
- new passwordprotected void checkUser(AdminUser user, GenericResponse response)
protected void checkPassword(String password, String confirmPassword, GenericResponse response)
protected void checkExistingPassword(String password, AdminUser user, GenericResponse response)
protected boolean isTokenExpired(ForgotPasswordSecurityToken fpst)
public int getTokenExpiredMinutes()
public void setTokenExpiredMinutes(int tokenExpiredMinutes)
public static int getPASSWORD_TOKEN_LENGTH()
public static void setPASSWORD_TOKEN_LENGTH(int PASSWORD_TOKEN_LENGTH)
public String getResetPasswordURL()
public void setResetPasswordURL(String resetPasswordURL)
public EmailInfo getSendUsernameEmailInfo()
public void setSendUsernameEmailInfo(EmailInfo sendUsernameEmailInfo)
public EmailInfo getResetPasswordEmailInfo()
public void setResetPasswordEmailInfo(EmailInfo resetPasswordEmailInfo)
public Object getSalt(AdminUser user, String unencodedPassword)
AdminSecurityService
AdminSecurityService.getSaltSource()
. If there is
not a SaltSource
configured (AdminSecurityService.getSaltSource()
returns null) then this also returns null.getSalt
in interface AdminSecurityService
public String getSalt()
getSalt
in interface AdminSecurityService
public void setSalt(String salt)
setSalt
in interface AdminSecurityService
public org.springframework.security.authentication.dao.SaltSource getSaltSource()
AdminSecurityService
SaltSource
used with the blAdminPasswordEncoder to encrypt the user password. Usually configured in
applicationContext-admin-security.xml. This is not a required property and will return null if not configuredgetSaltSource
in interface AdminSecurityService
public void setSaltSource(org.springframework.security.authentication.dao.SaltSource saltSource)
AdminSecurityService
SaltSource
used with blAdminPasswordencoder to encrypt the user password. Usually configured within
applicationContext-admin-security.xmlsetSaltSource
in interface AdminSecurityService
@Transactional(value="blTransactionManager") public GenericResponse changePassword(String username, String oldPassword, String password, String confirmPassword)
changePassword
in interface AdminSecurityService
Copyright © 2014. All rights reserved.