Class ChainAuthenticationProvider
- java.lang.Object
-
- org.craftercms.studio.impl.v2.security.authentication.ChainAuthenticationProvider
-
- All Implemented Interfaces:
org.springframework.beans.factory.Aware
,org.springframework.beans.factory.InitializingBean
,org.springframework.context.ApplicationContextAware
,org.springframework.security.authentication.AuthenticationProvider
public class ChainAuthenticationProvider extends Object implements org.springframework.security.authentication.AuthenticationProvider, org.springframework.context.ApplicationContextAware, org.springframework.beans.factory.InitializingBean
Implementation ofAuthenticationProvider
for Studio's authentication chain. Holds a list of authenticators initialized based on the main configuration.- Since:
- 4.0
- Author:
- joseross
-
-
Field Summary
Fields Modifier and Type Field Description protected org.springframework.context.ApplicationContext
appContext
protected List<org.springframework.security.authentication.AuthenticationProvider>
providers
protected StudioConfiguration
studioConfiguration
-
Constructor Summary
Constructors Constructor Description ChainAuthenticationProvider(StudioConfiguration studioConfiguration)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
afterPropertiesSet()
org.springframework.security.core.Authentication
authenticate(org.springframework.security.core.Authentication authentication)
protected org.springframework.security.authentication.AuthenticationProvider
initHeadersAuthenticationProvider(org.apache.commons.configuration2.HierarchicalConfiguration<?> providerConfig)
protected org.springframework.security.authentication.AuthenticationProvider
initLdapAuthenticationProvider(org.apache.commons.configuration2.HierarchicalConfiguration<?> providerConfig)
void
setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
boolean
supports(Class<?> authentication)
-
-
-
Field Detail
-
appContext
protected org.springframework.context.ApplicationContext appContext
-
studioConfiguration
protected StudioConfiguration studioConfiguration
-
providers
protected List<org.springframework.security.authentication.AuthenticationProvider> providers
-
-
Constructor Detail
-
ChainAuthenticationProvider
@ConstructorProperties("studioConfiguration") public ChainAuthenticationProvider(StudioConfiguration studioConfiguration)
-
-
Method Detail
-
setApplicationContext
public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) throws org.springframework.beans.BeansException
- Specified by:
setApplicationContext
in interfaceorg.springframework.context.ApplicationContextAware
- Throws:
org.springframework.beans.BeansException
-
afterPropertiesSet
public void afterPropertiesSet() throws Exception
- Specified by:
afterPropertiesSet
in interfaceorg.springframework.beans.factory.InitializingBean
- Throws:
Exception
-
initLdapAuthenticationProvider
protected org.springframework.security.authentication.AuthenticationProvider initLdapAuthenticationProvider(org.apache.commons.configuration2.HierarchicalConfiguration<?> providerConfig)
-
initHeadersAuthenticationProvider
protected org.springframework.security.authentication.AuthenticationProvider initHeadersAuthenticationProvider(org.apache.commons.configuration2.HierarchicalConfiguration<?> providerConfig)
-
authenticate
public org.springframework.security.core.Authentication authenticate(org.springframework.security.core.Authentication authentication) throws org.springframework.security.core.AuthenticationException
- Specified by:
authenticate
in interfaceorg.springframework.security.authentication.AuthenticationProvider
- Throws:
org.springframework.security.core.AuthenticationException
-
supports
public boolean supports(Class<?> authentication)
- Specified by:
supports
in interfaceorg.springframework.security.authentication.AuthenticationProvider
-
-