Class AuthenticationUtil
java.lang.Object
org.alfresco.repo.security.authentication.AuthenticationUtil
- All Implemented Interfaces:
org.springframework.beans.factory.InitializingBean
@AlfrescoPublicApi
public class AuthenticationUtil
extends Object
implements org.springframework.beans.factory.InitializingBean
Utility helper methods to change the authenticated context for threads.
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
static void
Remove the current security informationstatic String
static String
Get the name of the default admin user (the admin user created during bootstrap)static net.sf.acegisecurity.Authentication
WARN: Advanced usage only.
Get the authentication for that was set by an real authentication.static String
Get the fully authenticated user.static String
Get the name of the guest rolestatic String
Get the name of the Guest Userstatic String
getMaskedUsername
(net.sf.acegisecurity.Authentication authentication) static net.sf.acegisecurity.Authentication
Get the current authentication for application of permissions.static String
Get the user that is currently in effect for purposes of authentication.static String
Get the name of the system usergetUserTenant
(String userName) static boolean
static boolean
static void
Logs the current authenticated usersstatic void
static String
maskUsername
(String userName) static void
Pop the authentication context from a threadlocal stack.static void
Push the current authentication context onto a threadlocal stack.static <R> R
runAs
(AuthenticationUtil.RunAsWork<R> runAsWork, String uid) Execute a unit of work as a given user.static <R> R
runAsSystem
(AuthenticationUtil.RunAsWork<R> runAsWork) static net.sf.acegisecurity.Authentication
Authenticate as the Admin user.void
setDefaultAdminUserName
(String defaultAdminUserName) void
setDefaultGuestUserName
(String defaultGuestUserName) static net.sf.acegisecurity.Authentication
setFullAuthentication
(net.sf.acegisecurity.Authentication authentication) Re-authenticate using a previously-created authentication.static net.sf.acegisecurity.Authentication
setFullyAuthenticatedUser
(String userName) Authenticate as the given user.static void
setMtEnabled
(boolean mtEnabled) static net.sf.acegisecurity.Authentication
setRunAsUser
(String userName) WARN: Advanced usage only.
Switch to the given user for all authenticated operations.static net.sf.acegisecurity.Authentication
WARN: Advanced usage only.
Set the system user as the currently running user for authentication purposes.
-
Field Details
-
SYSTEM_USER_NAME
- See Also:
-
-
Constructor Details
-
AuthenticationUtil
public AuthenticationUtil()
-
-
Method Details
-
afterPropertiesSet
- Specified by:
afterPropertiesSet
in interfaceorg.springframework.beans.factory.InitializingBean
- Throws:
Exception
-
setDefaultAdminUserName
-
setDefaultGuestUserName
-
setMtEnabled
public static void setMtEnabled(boolean mtEnabled) -
isMtEnabled
public static boolean isMtEnabled() -
maskUsername
-
getMaskedUsername
-
setAdminUserAsFullyAuthenticatedUser
public static net.sf.acegisecurity.Authentication setAdminUserAsFullyAuthenticatedUser()Authenticate as the Admin user. The Admin user will be authenticated and all operations with be run in the context of this Admin user.- Returns:
- the authentication token
-
setFullyAuthenticatedUser
Authenticate as the given user. The user will be authenticated and all operations with be run in the context of this user.- Parameters:
userName
- the user name- Returns:
- the authentication token
-
setFullAuthentication
public static net.sf.acegisecurity.Authentication setFullAuthentication(net.sf.acegisecurity.Authentication authentication) Re-authenticate using a previously-created authentication. -
setRunAsUserSystem
public static net.sf.acegisecurity.Authentication setRunAsUserSystem()WARN: Advanced usage only.
Set the system user as the currently running user for authentication purposes.- Returns:
- Authentication
- See Also:
-
setRunAsUser
WARN: Advanced usage only.
Switch to the given user for all authenticated operations. The original, authenticated user can still be found usinggetFullyAuthenticatedUser()
.- Parameters:
userName
- the user to run as- Returns:
- the new authentication
-
getRunAsAuthentication
public static net.sf.acegisecurity.Authentication getRunAsAuthentication() throws AuthenticationExceptionGet the current authentication for application of permissions. This includes the any overlay details set bysetRunAsUser(String)
.- Returns:
- Authentication Returns the running authentication
- Throws:
AuthenticationException
-
getFullAuthentication
public static net.sf.acegisecurity.Authentication getFullAuthentication() throws AuthenticationExceptionWARN: Advanced usage only.
Get the authentication for that was set by an real authentication.- Returns:
- Authentication Returns the real authentication
- Throws:
AuthenticationException
-
getRunAsUser
Get the user that is currently in effect for purposes of authentication. This includes any overlays introduced byrunAs
.- Returns:
- Returns the name of the user
- Throws:
AuthenticationException
-
isRunAsUserTheSystemUser
public static boolean isRunAsUserTheSystemUser() -
getFullyAuthenticatedUser
Get the fully authenticated user. It returns the name of the user that last authenticated and excludes any overlay authentication set byrunAs
.- Returns:
- Returns the name of the authenticated user
- Throws:
AuthenticationException
-
getSystemUserName
Get the name of the system user- Returns:
- system user name
-
getAdminUserName
Get the name of the default admin user (the admin user created during bootstrap)- Returns:
- admin user name
-
getAdminRoleName
-
getGuestUserName
Get the name of the Guest User -
getGuestRoleName
Get the name of the guest role -
clearCurrentSecurityContext
public static void clearCurrentSecurityContext()Remove the current security information -
runAs
Execute a unit of work as a given user. The thread's authenticated user will be returned to its normal state after the call.- Parameters:
runAsWork
- the unit of work to douid
- the user ID- Returns:
- Returns the work's return value
-
runAsSystem
-
pushAuthentication
public static void pushAuthentication()Push the current authentication context onto a threadlocal stack. -
popAuthentication
public static void popAuthentication()Pop the authentication context from a threadlocal stack. -
logAuthenticatedUsers
public static void logAuthenticatedUsers()Logs the current authenticated users -
logNDC
-
getUserTenant
-