Class DefaultRemoteUserMapper
java.lang.Object
org.alfresco.repo.security.authentication.external.DefaultRemoteUserMapper
- All Implemented Interfaces:
ActivateableBean,RemoteUserMapper
A default
RemoteUserMapper implementation. Extracts a user ID using
HttpServletRequest.getRemoteUser() and optionally from a configured request header. If there is no configured
proxy user name, it returns the request header user name if there is one, or the remote user name otherwise. If there
is a configured proxy user, then it returns the request header user name if the remote user matches the proxy user,
or the remote user otherwise. An optional regular expression defining how to convert the header to a user ID can be
configured using setUserIdPattern(String). This allows for the secure proxying of requests from a Surf
client such as Alfresco Share using SSL client certificates.- Author:
- dward
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetRemoteUser(jakarta.servlet.http.HttpServletRequest request) Gets an externally authenticated user ID from an HTTP request.booleanisActive()Determines whether this bean is active.voidsetActive(boolean isEnabled) Controls whether the mapper is enabled.voidsetPersonService(PersonService personService) Sets the person service.voidsetProxyHeader(String proxyHeader) Sets the name of the header containing the ID of a proxied user.voidsetProxyUserName(String proxyUserName) Sets the name of the remote user used to 'proxy' requests securely in the name of another user.voidsetUserIdPattern(String userIdPattern) Sets a regular expression for extracting a user ID from the header.
-
Constructor Details
-
DefaultRemoteUserMapper
public DefaultRemoteUserMapper()
-
-
Method Details
-
setProxyUserName
Sets the name of the remote user used to 'proxy' requests securely in the name of another user. Typically this remote identity will be protected by an SSL client certificate.- Parameters:
proxyUserName- the proxy user name. Ifnullor empty, then the header will be checked regardless of remote user identity.
-
setProxyHeader
Sets the name of the header containing the ID of a proxied user.- Parameters:
proxyHeader- the proxy header name
-
setActive
public void setActive(boolean isEnabled) Controls whether the mapper is enabled. When disabledgetRemoteUser(HttpServletRequest)will always returnnull- Parameters:
isEnabled- Is this mapper enabled?
-
setUserIdPattern
Sets a regular expression for extracting a user ID from the header. If this is not set, then the entire contents of the header will be used as the user ID.- Parameters:
userIdPattern- the regular expression
-
setPersonService
Sets the person service.- Parameters:
personService- the person service
-
getRemoteUser
Description copied from interface:RemoteUserMapperGets an externally authenticated user ID from an HTTP request.- Specified by:
getRemoteUserin interfaceRemoteUserMapper- Parameters:
request- the request- Returns:
- the user ID or
nullif the user is unauthenticated
-
isActive
public boolean isActive()Description copied from interface:ActivateableBeanDetermines whether this bean is active.- Specified by:
isActivein interfaceActivateableBean- Returns:
trueif this bean is active
-