org.modeshape.jcr.security

## Interface AuthenticationProvider

- All Known Implementing Classes:
    AnonymousProvider, AuthenticationProviders, JaasProvider, ServletProvider

      public interface AuthenticationProvider

  An interface used by a ModeShape `Repository` for authenticating users when they create new `sessions` using `Repository.login(javax.jcr.Credentials, String)` and related methods.

- - ### Method Summary

    Methods
    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.

- - ### Method Detail

    - #### authenticate

          ExecutionContext authenticate(Credentials credentials,
                                      String repositoryName,
                                      String workspaceName,
                                      ExecutionContext repositoryContext,
                                      Map<String,Object> sessionAttributes)

      Authenticate the user that is using the supplied credentials. If the supplied credentials are authenticated, this method should construct an `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.

      Parameters:
        `credentials` - the user's JCR credentials, which may be an `AnonymousCredentials` if authenticating as an anonymous user
        `repositoryName` - the name of the JCR repository; never null
        `workspaceName` - the name of the JCR workspace; never null
        `repositoryContext` - the execution context of the repository, which may be wrapped by this method
        `sessionAttributes` - the map of name-value pairs that will be placed into the `Session attributes`; never null
      Returns:
        the execution context for the authenticated user, or null if this provider could not authenticate the user

Copyright © 2008-2014 JBoss, a division of Red Hat. All Rights Reserved.