Class AuthenticationHeadersLoginProcessor
- java.lang.Object
-
- org.craftercms.security.processors.impl.AuthenticationHeadersLoginProcessor
-
- All Implemented Interfaces:
RequestSecurityProcessor
public class AuthenticationHeadersLoginProcessor extends Object implements RequestSecurityProcessor
RequestSecurityProcessor
that auto logins a user through the headers provided by the Apache mod_auth_mellon SAML authentication module. If the user doesn't exist, it creates it.- Author:
- avasquez
-
-
Field Summary
Fields Modifier and Type Field Description protected AuthenticationManager
authenticationManager
static String
DEFAULT_EMAIL_HEADER_NAME
static String
DEFAULT_MELLON_HEADER_PREFIX
static String
DEFAULT_TOKEN_HEADER_NAME
static String
DEFAULT_USERNAME_HEADER_NAME
protected String
emailHeaderName
static org.slf4j.Logger
logger
protected String
mellonHeaderPrefix
protected org.craftercms.profile.api.services.ProfileService
profileService
protected org.craftercms.profile.api.services.TenantService
tenantService
protected TenantsResolver
tenantsResolver
protected String
tokenExpectedValue
protected String
tokenHeaderName
protected String
usernameHeaderName
-
Constructor Summary
Constructors Constructor Description AuthenticationHeadersLoginProcessor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected org.craftercms.profile.api.Profile
createProfileWithSsoInfo(String username, org.craftercms.profile.api.Tenant tenant, javax.servlet.http.HttpServletRequest request)
protected org.craftercms.profile.api.Tenant
getSsoEnabledTenant(String[] tenantNames)
String
getTokenExpectedValue()
protected boolean
hasValidToken(javax.servlet.http.HttpServletRequest request)
void
processRequest(org.craftercms.commons.http.RequestContext context, RequestSecurityProcessorChain processorChain)
Processes a request, enforcing security when required.void
setAuthenticationManager(AuthenticationManager authenticationManager)
void
setEmailHeaderName(String emailHeaderName)
void
setMellonHeaderPrefix(String mellonHeaderPrefix)
void
setProfileService(org.craftercms.profile.api.services.ProfileService profileService)
void
setTenantService(org.craftercms.profile.api.services.TenantService tenantService)
void
setTenantsResolver(TenantsResolver tenantsResolver)
void
setTokenExpectedValue(String tokenExpectedValue)
void
setTokenHeaderName(String tokenHeaderName)
void
setUsernameHeaderName(String usernameHeaderName)
-
-
-
Field Detail
-
logger
public static final org.slf4j.Logger logger
-
DEFAULT_MELLON_HEADER_PREFIX
public static final String DEFAULT_MELLON_HEADER_PREFIX
- See Also:
- Constant Field Values
-
DEFAULT_USERNAME_HEADER_NAME
public static final String DEFAULT_USERNAME_HEADER_NAME
- See Also:
- Constant Field Values
-
DEFAULT_EMAIL_HEADER_NAME
public static final String DEFAULT_EMAIL_HEADER_NAME
- See Also:
- Constant Field Values
-
DEFAULT_TOKEN_HEADER_NAME
public static final String DEFAULT_TOKEN_HEADER_NAME
- See Also:
- Constant Field Values
-
tenantService
protected org.craftercms.profile.api.services.TenantService tenantService
-
profileService
protected org.craftercms.profile.api.services.ProfileService profileService
-
tenantsResolver
protected TenantsResolver tenantsResolver
-
authenticationManager
protected AuthenticationManager authenticationManager
-
mellonHeaderPrefix
protected String mellonHeaderPrefix
-
usernameHeaderName
protected String usernameHeaderName
-
emailHeaderName
protected String emailHeaderName
-
tokenHeaderName
protected String tokenHeaderName
-
tokenExpectedValue
protected String tokenExpectedValue
-
-
Method Detail
-
setTenantService
public void setTenantService(org.craftercms.profile.api.services.TenantService tenantService)
-
setProfileService
public void setProfileService(org.craftercms.profile.api.services.ProfileService profileService)
-
setTenantsResolver
public void setTenantsResolver(TenantsResolver tenantsResolver)
-
setAuthenticationManager
public void setAuthenticationManager(AuthenticationManager authenticationManager)
-
setMellonHeaderPrefix
public void setMellonHeaderPrefix(String mellonHeaderPrefix)
-
setUsernameHeaderName
public void setUsernameHeaderName(String usernameHeaderName)
-
setEmailHeaderName
public void setEmailHeaderName(String emailHeaderName)
-
setTokenHeaderName
public void setTokenHeaderName(String tokenHeaderName)
-
setTokenExpectedValue
public void setTokenExpectedValue(String tokenExpectedValue)
-
getTokenExpectedValue
public String getTokenExpectedValue()
-
processRequest
public void processRequest(org.craftercms.commons.http.RequestContext context, RequestSecurityProcessorChain processorChain) throws Exception
Description copied from interface:RequestSecurityProcessor
Processes a request, enforcing security when required.- Specified by:
processRequest
in interfaceRequestSecurityProcessor
- Parameters:
context
- the context which holds the current request and responseprocessorChain
- theRequestSecurityProcessorChain
, used to call the next processor- Throws:
Exception
-
hasValidToken
protected boolean hasValidToken(javax.servlet.http.HttpServletRequest request)
-
getSsoEnabledTenant
protected org.craftercms.profile.api.Tenant getSsoEnabledTenant(String[] tenantNames) throws org.craftercms.profile.api.exceptions.ProfileException
- Throws:
org.craftercms.profile.api.exceptions.ProfileException
-
createProfileWithSsoInfo
protected org.craftercms.profile.api.Profile createProfileWithSsoInfo(String username, org.craftercms.profile.api.Tenant tenant, javax.servlet.http.HttpServletRequest request) throws org.craftercms.profile.api.exceptions.ProfileException
- Throws:
org.craftercms.profile.api.exceptions.ProfileException
-
-