public class JaasProvider extends Object implements AuthenticationProvider
AuthenticationProvider
that uses a supplied JAAS policy to perform all authentication and
role-based authorization.Modifier and Type | Class and Description |
---|---|
static interface |
JaasProvider.SubjectResolver
An extension point for the JaasProvider class that allows for custom logic for finding the current JAAS Subject, if not
already available via the
Subject.getSubject(AccessController.getContext()) method. |
Constructor and Description |
---|
JaasProvider(String policyName)
Create a JAAS provider for authentication and authorization, using the supplied name for the login configuration.
|
Modifier and Type | Method and Description |
---|---|
ExecutionContext |
authenticate(Credentials credentials,
String repositoryName,
String workspaceName,
ExecutionContext repositoryContext,
Map<String,Object> sessionAttributes)
Authenticate the user that is using the supplied credentials.
|
public JaasProvider(String policyName) throws LoginException
policyName
- the name that will be used for the login contextLoginException
- if the caller-specified name
does not appear in the Configuration
and
there is no Configuration
entry for "other", or if the
auth.login.defaultCallbackHandler security property was set, but the implementation class could not be
loaded.
public ExecutionContext authenticate(Credentials credentials, String repositoryName, String workspaceName, ExecutionContext repositoryContext, Map<String,Object> sessionAttributes)
AuthenticationProvider
ExecutionContext
that reflects the authenticated environment, including the context's valid
security context
that will be used for authorization throughout.
Note that each provider is handed a map into which it can place name-value pairs that will be used in the
Session attributes
of the Session that results from this authentication attempt.
ModeShape will ignore any attributes if this provider does not authenticate the credentials.
authenticate
in interface AuthenticationProvider
credentials
- the user's JCR credentials, which may be an AnonymousCredentials
if authenticating as an
anonymous userrepositoryName
- the name of the JCR repository; never nullworkspaceName
- the name of the JCR workspace; never nullrepositoryContext
- the execution context of the repository, which may be wrapped by this methodsessionAttributes
- the map of name-value pairs that will be placed into the Session attributes
; never nullCopyright © 2008–2016 JBoss, a division of Red Hat. All rights reserved.