You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "angela (JIRA)" <ji...@apache.org> on 2013/07/31 11:53:48 UTC

[jira] [Comment Edited] (OAK-909) PrincipalManagement: Document changes wrt Jackrabbit

    [ https://issues.apache.org/jira/browse/OAK-909?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13725069#comment-13725069 ] 

angela edited comment on OAK-909 at 7/31/13 9:52 AM:
-----------------------------------------------------

h4. 1. Characteristics of the Principal Management Implementation

The default implementation of the principal management API basically corresponds to the default in Jackrabbit 2.x and is based on the user management implementation. Note however, that as of OAK only a single principal provider is exposed on the SPI level (used to be multiple principal providers with the LoginModule configuration in Jackrabbit 2.x). See the configuration section below for details

h4. 2. API Extensions

* {{PrincipalProvider}} [0]: SPI level access to principals known to the repository which is also used by the default implementation of the {{PrincipalManager}} interface. This interface replaces the internal PrincipalProvider interface present in Jackrabbit 2.x. Note, that principals from different sources can be supported by using {{CompositePrincipalProvider}} [1] or a similar implementation that proxies different sources.
* {{AdminPrincipal}}: Marker interface to identify the principal associated with administrative user(s) [2].
* {{EveryonePrincipal}}: built-in group principal implementation that has every other valid principal as member [3].

h4. 3. Configuration

* {{PrincipalConfiguration}} [4]:
** {{getPrincipalManager}} -> returns a new instance of o.a.j.api.security.principal.PrincipalManager [5] (see also {{JackrabbitSession#getPrincipalManager()}}
** {{getPrincipalProvider}} -> returns a new instance of principal provider. Note, that in contrast to Jackrabbit 2.x the system may only have one single principal provider implementation configured. In order to combine principals from different sources a implementation that properly handles the different sources is required; the {{CompositePrincipalProvider}} [1] is an example that combines multiple implementations.

h4. 4. References

[0] http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/principal/PrincipalProvider.java
[1] http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/principal/CompositePrincipalProvider.java
[2] http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/principal/AdminPrincipal.java
[3] http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/principal/EveryonePrincipal.java
[4] http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/principal/PrincipalConfiguration.java
[5] http://svn.apache.org/repos/asf/jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/security/principal/PrincipalManager.java
                
      was (Author: anchela):
    h4. 1. Characteristics of the Principal Management Implementation

The default implementation of the principal management API basically corresponds to the default in Jackrabbit 2.x and is based on the user management implementation. Note however, that as of OAK only a single principal provider is exposed on the SPI level (used to be multiple principal providers with the LoginModule configuration in Jackrabbit 2.x). See the configuration section below for details

h4. 2. API Extensions

* {{PrincipalProvider}} [0]: SPI level access to principals known to the repository which is also used by the default implementation of the {{PrincipalManager}} interface. This interface replaces the internal PrincipalProvider interface present in Jackrabbit 2.x. Note, that principals from different sources can be supported by using {{CompositePrincipalProvider}} [1].
* {{AdminPrincipal}}: Marker interface to identify the principal associated with administrative user(s) [2].
* {{EveryonePrincipal}}: built-in group principal implementation that has every other valid principal as member [3].

h4. 3. Configuration

* {{PrincipalConfiguration}} [4]:
** {{getPrincipalManager}} -> returns a new instance of o.a.j.api.security.principal.PrincipalManager [5] (see also {{JackrabbitSession#getPrincipalManager()}}
** {{getPrincipalProvider}} -> returns a new instance of principal provider. Note, that in contrast to Jackrabbit 2.x the system may only have one single principal provider implementation configured. In order to combine principals from different sources a implementation that properly handles the different sources is required; the {{CompositePrincipalProvider}} [1] is an example that combines multiple implementations.

h4. 4. References

[0] http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/principal/PrincipalProvider.java
[1] http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/principal/CompositePrincipalProvider.java
[2] http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/principal/AdminPrincipal.java
[3] http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/principal/EveryonePrincipal.java
[4] http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/principal/PrincipalConfiguration.java
[5] http://svn.apache.org/repos/asf/jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/security/principal/PrincipalManager.java
                  
> PrincipalManagement: Document changes wrt Jackrabbit
> ----------------------------------------------------
>
>                 Key: OAK-909
>                 URL: https://issues.apache.org/jira/browse/OAK-909
>             Project: Jackrabbit Oak
>          Issue Type: Sub-task
>          Components: core, jcr
>            Reporter: angela
>            Assignee: angela
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira