com.xebialabs.deployit.security
Class LdapPrincipalProvider

java.lang.Object
  extended by com.xebialabs.deployit.security.LdapPrincipalProvider
All Implemented Interfaces:
org.apache.jackrabbit.core.security.principal.PrincipalProvider

public class LdapPrincipalProvider
extends java.lang.Object
implements org.apache.jackrabbit.core.security.principal.PrincipalProvider

Provides principals for Jackrabbit from LDAP. Should only be configured as a companion to LdapLoginModule.


Nested Class Summary
static class LdapPrincipalProvider.LdapGroup
           
static class LdapPrincipalProvider.LdapPrincipal
           
static class LdapPrincipalProvider.SimplePrincipal
           
 
Constructor Summary
LdapPrincipalProvider()
           
 
Method Summary
 boolean canReadPrincipal(javax.jcr.Session session, java.security.Principal principalToRead)
           
 void close()
           
protected  void collectGroupsForMember(java.security.Principal principal, javax.naming.directory.DirContext dc, java.lang.String memberDn, java.util.List<java.security.Principal> groupPrincipalsCollector)
           
 org.apache.jackrabbit.api.security.principal.PrincipalIterator findPrincipals(java.lang.String simpleFilter)
           
 org.apache.jackrabbit.api.security.principal.PrincipalIterator findPrincipals(java.lang.String simpleFilter, int searchType)
           
 org.apache.jackrabbit.api.security.principal.PrincipalIterator getGroupMembership(java.security.Principal principal)
           
 java.util.Collection<? extends java.security.Principal> getLoginGroupMembership(java.security.Principal principal)
           
 java.security.Principal getPrincipal(java.lang.String principalName)
           
 org.apache.jackrabbit.api.security.principal.PrincipalIterator getPrincipals(int searchType)
           
 void init(java.util.Properties options)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LdapPrincipalProvider

public LdapPrincipalProvider()
Method Detail

init

public void init(java.util.Properties options)
Specified by:
init in interface org.apache.jackrabbit.core.security.principal.PrincipalProvider

close

public void close()
Specified by:
close in interface org.apache.jackrabbit.core.security.principal.PrincipalProvider

getPrincipal

public java.security.Principal getPrincipal(java.lang.String principalName)
Specified by:
getPrincipal in interface org.apache.jackrabbit.core.security.principal.PrincipalProvider

getPrincipals

public org.apache.jackrabbit.api.security.principal.PrincipalIterator getPrincipals(int searchType)
Specified by:
getPrincipals in interface org.apache.jackrabbit.core.security.principal.PrincipalProvider

canReadPrincipal

public boolean canReadPrincipal(javax.jcr.Session session,
                                java.security.Principal principalToRead)
Specified by:
canReadPrincipal in interface org.apache.jackrabbit.core.security.principal.PrincipalProvider

findPrincipals

public org.apache.jackrabbit.api.security.principal.PrincipalIterator findPrincipals(java.lang.String simpleFilter)
Specified by:
findPrincipals in interface org.apache.jackrabbit.core.security.principal.PrincipalProvider

findPrincipals

public org.apache.jackrabbit.api.security.principal.PrincipalIterator findPrincipals(java.lang.String simpleFilter,
                                                                                     int searchType)
Specified by:
findPrincipals in interface org.apache.jackrabbit.core.security.principal.PrincipalProvider

getGroupMembership

public org.apache.jackrabbit.api.security.principal.PrincipalIterator getGroupMembership(java.security.Principal principal)
Specified by:
getGroupMembership in interface org.apache.jackrabbit.core.security.principal.PrincipalProvider

getLoginGroupMembership

public java.util.Collection<? extends java.security.Principal> getLoginGroupMembership(java.security.Principal principal)

collectGroupsForMember

protected void collectGroupsForMember(java.security.Principal principal,
                                      javax.naming.directory.DirContext dc,
                                      java.lang.String memberDn,
                                      java.util.List<java.security.Principal> groupPrincipalsCollector)
                               throws javax.naming.NamingException
Throws:
javax.naming.NamingException