[ 
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 11/12/13 3:54 PM:
------------------------------------------------------

moved to
http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-doc/src/site/markdown/differences_principal.md


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] 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].
* {{SystemPrincipal}}: built-in principal implementation to mark system 
internal subjects [4].

h4. 3. Configuration

* {{PrincipalConfiguration}} [5]:
** {{getPrincipalManager}} -> returns a new instance of 
o.a.j.api.security.principal.PrincipalManager [6] (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/SystemPrincipal.java
[5] 
http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/principal/PrincipalConfiguration.java
[6] 
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
>             Fix For: 0.9
>
>




--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to