Package com.avoka.fc.core.security
Interface ISecurityManagerService
-
- All Known Implementing Classes:
SecurityManagerService
public interface ISecurityManagerService
Provides a Security Manager service interface.- Since:
- 3.5.0
-
-
Field Summary
Fields Modifier and Type Field Description static String
SESSION_PORTAL_ID
The user session Portal ID attribute name.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description org.springframework.security.authentication.AuthenticationProvider
createAuthenticationProvider(AuthenticationProvider providerEntity)
Create an Spring Security AuthenticationProvider instance using the associated Portal and AuthenticationProvider configuration entity.UserAccount
createUserAndProfile(String loginName, String email, String password, String givenName, String familyName, String mobile, Map<String,String> profileMap, String authenticationDomain, String userType, boolean isSelfRegistration)
Create a new user account and profileboolean
doesPasswordMatch(String password, UserAccount userAccount)
Return true if the plain text password value matches the local user account password.boolean
doesUserExist(String userId)
Return true if a user with the given login name already exists.List<org.springframework.security.authentication.AuthenticationProvider>
getAuthenticationProviders()
Return the list of Spring Security AuthenticationProvider instances.UserAccount
onFailedLogin(String userId, HttpServletRequest request)
Event listener for unsuccessful user login event.void
onSessionExpiry(String userId, Date lastAccessedTime)
Event listener for the user session expiry or logout.void
onSessionExpiry(String userId, Date lastAccessedTime, String sessionId)
Event listener for the user session expiry or logout.UserAccount
onSuccessfulLogin(String userId, HttpServletRequest request)
Event listener for successful user login event.String
validatePassword(String password)
Return null if the password is valid for the security manager configuration, otherwise return an error message.
-
-
-
Field Detail
-
SESSION_PORTAL_ID
static final String SESSION_PORTAL_ID
The user session Portal ID attribute name.- See Also:
- Constant Field Values
-
-
Method Detail
-
createAuthenticationProvider
org.springframework.security.authentication.AuthenticationProvider createAuthenticationProvider(AuthenticationProvider providerEntity)
Create an Spring Security AuthenticationProvider instance using the associated Portal and AuthenticationProvider configuration entity.- Parameters:
providerEntity
- the AuthenticationProvider configuration entity- Returns:
- a Spring Security AuthenticationProvider
-
createUserAndProfile
UserAccount createUserAndProfile(String loginName, String email, String password, String givenName, String familyName, String mobile, Map<String,String> profileMap, String authenticationDomain, String userType, boolean isSelfRegistration) throws ApplicationException, ApplicationEmailException
Create a new user account and profile- Parameters:
loginName
- the user id (required)email
- the user email address (optional)password
- the user password (required for Local userType accounts)givenName
- the user first name (optional)familyName
- the user last name (optional)mobile
- the user mobile phone number (optional)profileMap
- the map of user profile names and values to createauthenticationDomain
- the authentication domain (required for LDAP userType accounts)userType
- the type of user account (required)isSelfRegistration
- the flag specifying whether the user self registered- Returns:
- the new user account
- Throws:
ApplicationException
- if an error occur creating the new user accountApplicationEmailException
- if an error occur sending email notifications
-
getAuthenticationProviders
List<org.springframework.security.authentication.AuthenticationProvider> getAuthenticationProviders()
Return the list of Spring Security AuthenticationProvider instances.- Returns:
- the list of Spring Security AuthenticationProvider instances
-
doesUserExist
boolean doesUserExist(String userId)
Return true if a user with the given login name already exists.- Parameters:
userId
- the user id or login name (required)- Returns:
- true if a user with the given login name already exists
-
doesPasswordMatch
boolean doesPasswordMatch(String password, UserAccount userAccount)
Return true if the plain text password value matches the local user account password.- Parameters:
password
- plain text password value (required)userAccount
- the local user account, must a 'Local' user type (required)- Returns:
- true if the plain text password value matches the local user account password
-
onSuccessfulLogin
UserAccount onSuccessfulLogin(String userId, HttpServletRequest request)
Event listener for successful user login event.- Parameters:
userId
- the login userId (login name).request
- the user HTTP request- Returns:
- the logged in user account
-
onFailedLogin
UserAccount onFailedLogin(String userId, HttpServletRequest request)
Event listener for unsuccessful user login event.- Parameters:
userId
- the login userId (login name).request
- the user HTTP request- Returns:
- the failed login user account, or null if no user found
-
onSessionExpiry
void onSessionExpiry(String userId, Date lastAccessedTime)
Event listener for the user session expiry or logout.- Parameters:
userId
- the login userId (login name).lastAccessedTime
- the time the user last accessed the application
-
onSessionExpiry
void onSessionExpiry(String userId, Date lastAccessedTime, String sessionId)
Event listener for the user session expiry or logout.- Parameters:
userId
- the login userId (login name).lastAccessedTime
- the time the user last accessed the applicationsessionId
- the user session id- Since:
- 4.1.3
-
validatePassword
String validatePassword(String password)
Return null if the password is valid for the security manager configuration, otherwise return an error message.- Parameters:
password
- the password value to validate (required)- Returns:
- null if the password is valid for the security manager configuration, otherwise return an error message
-
-