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.Modifier and Type | Field and 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 ProfileService |
profileService |
protected TenantService |
tenantService |
protected TenantsResolver |
tenantsResolver |
protected String |
tokenExpectedValue |
protected String |
tokenHeaderName |
protected String |
usernameHeaderName |
Constructor and Description |
---|
AuthenticationHeadersLoginProcessor() |
Modifier and Type | Method and Description |
---|---|
protected Profile |
createProfileWithSsoInfo(String username,
Tenant tenant,
javax.servlet.http.HttpServletRequest request) |
protected 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(ProfileService profileService) |
void |
setTenantService(TenantService tenantService) |
void |
setTenantsResolver(TenantsResolver tenantsResolver) |
void |
setTokenExpectedValue(String tokenExpectedValue) |
void |
setTokenHeaderName(String tokenHeaderName) |
void |
setUsernameHeaderName(String usernameHeaderName) |
public static final org.slf4j.Logger logger
public static final String DEFAULT_MELLON_HEADER_PREFIX
public static final String DEFAULT_USERNAME_HEADER_NAME
public static final String DEFAULT_EMAIL_HEADER_NAME
public static final String DEFAULT_TOKEN_HEADER_NAME
protected TenantService tenantService
protected ProfileService profileService
protected TenantsResolver tenantsResolver
protected AuthenticationManager authenticationManager
protected String mellonHeaderPrefix
protected String usernameHeaderName
protected String emailHeaderName
protected String tokenHeaderName
protected String tokenExpectedValue
public void setTenantService(TenantService tenantService)
public void setProfileService(ProfileService profileService)
public void setTenantsResolver(TenantsResolver tenantsResolver)
public void setAuthenticationManager(AuthenticationManager authenticationManager)
public void setMellonHeaderPrefix(String mellonHeaderPrefix)
public void setUsernameHeaderName(String usernameHeaderName)
public void setEmailHeaderName(String emailHeaderName)
public void setTokenHeaderName(String tokenHeaderName)
public void setTokenExpectedValue(String tokenExpectedValue)
public String getTokenExpectedValue()
public void processRequest(org.craftercms.commons.http.RequestContext context, RequestSecurityProcessorChain processorChain) throws Exception
RequestSecurityProcessor
processRequest
in interface RequestSecurityProcessor
context
- the context which holds the current request and responseprocessorChain
- the RequestSecurityProcessorChain
, used to call the next processorException
protected boolean hasValidToken(javax.servlet.http.HttpServletRequest request)
protected Tenant getSsoEnabledTenant(String[] tenantNames) throws ProfileException
ProfileException
protected Profile createProfileWithSsoInfo(String username, Tenant tenant, javax.servlet.http.HttpServletRequest request) throws ProfileException
ProfileException
Copyright © 2023 CrafterCMS. All rights reserved.