Class BasicCredentialProvider
- java.lang.Object
-
- org.ametys.runtime.plugin.component.AbstractLogEnabled
-
- org.ametys.core.authentication.AbstractCredentialProvider
-
- org.ametys.plugins.core.impl.authentication.BasicCredentialProvider
-
- All Implemented Interfaces:
BlockingCredentialProvider
,CredentialProvider
,LogEnabled
,Component
,Contextualizable
public class BasicCredentialProvider extends AbstractCredentialProvider implements BlockingCredentialProvider, Contextualizable
Basic http authentication.
-
-
Field Summary
Fields Modifier and Type Field Description protected static String
__PARAM_REALM
Name of the parameter holding the authentication realmprivate Context
_context
protected String
_realm
The realmprivate static String
BASIC_AUTHENTICATION_KEY
-
Constructor Summary
Constructors Constructor Description BasicCredentialProvider()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private List<UserPopulation>
_getPopulations(Request request)
UserIdentity
blockingGetUserIdentity(Redirector redirector)
Method called by AuthenticateAction each time a request need authentication.boolean
blockingGrantAnonymousRequest()
Method called by AuthenticateAction before asking for credentials.boolean
blockingIsStillConnected(UserIdentity userIdentity, Redirector redirector)
Validates that the user specify is still connectedvoid
blockingUserAllowed(UserIdentity userIdentity)
Method called by AuthenticateAction after authentication process succeededvoid
blockingUserNotAllowed(Redirector redirector)
Method called by AuthenticateAction each a user could not get authenticated.void
contextualize(Context context)
void
init(String id, String cpModelId, Map<String,Object> paramValues, String label)
Initialize the credential provider with given parameters' values.boolean
requiresNewWindow()
Does this blocking credential provider requires a new window to process.-
Methods inherited from class org.ametys.core.authentication.AbstractCredentialProvider
equals, getCredentialProviderModelId, getId, getLabel, getParameterValues, hashCode
-
Methods inherited from class org.ametys.runtime.plugin.component.AbstractLogEnabled
getLogger, setLogger
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.ametys.core.authentication.CredentialProvider
getCredentialProviderModelId, getId, getLabel, getParameterValues, getUserIdentity, grantAnonymousRequest, isStillConnected, userAllowed, userNotAllowed
-
-
-
-
Field Detail
-
__PARAM_REALM
protected static final String __PARAM_REALM
Name of the parameter holding the authentication realm- See Also:
- Constant Field Values
-
BASIC_AUTHENTICATION_KEY
private static final String BASIC_AUTHENTICATION_KEY
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
BasicCredentialProvider
public BasicCredentialProvider()
-
-
Method Detail
-
contextualize
public void contextualize(Context context) throws ContextException
- Specified by:
contextualize
in interfaceContextualizable
- Throws:
ContextException
-
init
public void init(String id, String cpModelId, Map<String,Object> paramValues, String label)
Description copied from interface:CredentialProvider
Initialize the credential provider with given parameters' values.- Specified by:
init
in interfaceCredentialProvider
- Overrides:
init
in classAbstractCredentialProvider
- Parameters:
id
- The unique identifiercpModelId
- The id of credential provider extension pointparamValues
- The parameters' valueslabel
- The specific label of this instance. Can be null
-
blockingIsStillConnected
public boolean blockingIsStillConnected(UserIdentity userIdentity, Redirector redirector) throws Exception
Description copied from interface:BlockingCredentialProvider
Validates that the user specify is still connected- Specified by:
blockingIsStillConnected
in interfaceBlockingCredentialProvider
- Parameters:
userIdentity
- the user previously correctly identified with this credential providerredirector
- The cocoon redirector- Returns:
- true if this CredentialProvider was in a valid state, false to restart authentication process
- Throws:
Exception
- If an error occurred
-
blockingGrantAnonymousRequest
public boolean blockingGrantAnonymousRequest()
Description copied from interface:BlockingCredentialProvider
Method called by AuthenticateAction before asking for credentials. This method is used to bypass authentication. If this method returns true, no authentication will be required. Use it with care, as it may lead to obvious security issues.- Specified by:
blockingGrantAnonymousRequest
in interfaceBlockingCredentialProvider
- Returns:
- true if the Request is not authenticated
-
blockingGetUserIdentity
public UserIdentity blockingGetUserIdentity(Redirector redirector) throws Exception
Description copied from interface:BlockingCredentialProvider
Method called by AuthenticateAction each time a request need authentication.- Specified by:
blockingGetUserIdentity
in interfaceBlockingCredentialProvider
- Parameters:
redirector
- the cocoon redirector.- Returns:
- the
UserIdentity
corresponding to the user (with or without population specified), or null if user could not get authenticated. - Throws:
Exception
- if something wrong occurs
-
_getPopulations
private List<UserPopulation> _getPopulations(Request request)
-
blockingUserNotAllowed
public void blockingUserNotAllowed(Redirector redirector) throws Exception
Description copied from interface:BlockingCredentialProvider
Method called by AuthenticateAction each a user could not get authenticated. This method implementation is responsible of redirecting response to appropriate url.- Specified by:
blockingUserNotAllowed
in interfaceBlockingCredentialProvider
- Parameters:
redirector
- the cocoon Redirector that can be used for redirecting response.- Throws:
Exception
- if something wrong occurs
-
blockingUserAllowed
public void blockingUserAllowed(UserIdentity userIdentity)
Description copied from interface:BlockingCredentialProvider
Method called by AuthenticateAction after authentication process succeeded- Specified by:
blockingUserAllowed
in interfaceBlockingCredentialProvider
- Parameters:
userIdentity
- The user correctly connected
-
requiresNewWindow
public boolean requiresNewWindow()
Description copied from interface:BlockingCredentialProvider
Does this blocking credential provider requires a new window to process.- Specified by:
requiresNewWindow
in interfaceBlockingCredentialProvider
- Returns:
- true to ask the client to process this credential provider throught a new window
-
-