Class FallbackPrincipalProvider
- java.lang.Object
-
- org.apache.jackrabbit.core.security.principal.FallbackPrincipalProvider
-
- All Implemented Interfaces:
PrincipalProvider
public class FallbackPrincipalProvider extends Object implements PrincipalProvider
TheFallbackPrincipalProvider
is used to provide any desired principal. It is used to defined ACE for principals that are not known to the repository yet or that were deleted.
-
-
Field Summary
Fields Modifier and Type Field Description static String
OPTION_DISABLED
name of the "disabled" option.
-
Constructor Summary
Constructors Constructor Description FallbackPrincipalProvider()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canReadPrincipal(Session session, Principal principalToRead)
Tests if the provided session is allowed to read the given principal.void
close()
This is called when a provider is not longer used by the repository.PrincipalIterator
findPrincipals(String simpleFilter)
Searches forPrincipal
s that match the given String.PrincipalIterator
findPrincipals(String simpleFilter, int searchType)
Searches forPrincipal
s that match the given String.PrincipalIterator
getGroupMembership(Principal principal)
Returns an iterator over all group principals for which the given principal is either direct or indirect member of.Principal
getPrincipal(String principalName)
Returns the principal with the given name if is known to this providerPrincipalIterator
getPrincipals(int searchType)
Returns an iterator over all principals that match the given search type.void
init(Properties options)
Initialize this provider.
-
-
-
Field Detail
-
OPTION_DISABLED
public static final String OPTION_DISABLED
name of the "disabled" option.- See Also:
- Constant Field Values
-
-
Method Detail
-
getPrincipal
public Principal getPrincipal(String principalName)
Returns the principal with the given name if is known to this provider- Specified by:
getPrincipal
in interfacePrincipalProvider
- Parameters:
principalName
- the name of the principal to retrieve- Returns:
- a
UnknownPrincipal
with the given name.
-
findPrincipals
public PrincipalIterator findPrincipals(String simpleFilter)
Searches forPrincipal
s that match the given String. NOTE:Group
s are included in the search result.- Specified by:
findPrincipals
in interfacePrincipalProvider
- Returns:
- an empty principal iterator
- See Also:
PrincipalProvider.findPrincipals(String,int)
-
findPrincipals
public PrincipalIterator findPrincipals(String simpleFilter, int searchType)
Searches forPrincipal
s that match the given String.- Specified by:
findPrincipals
in interfacePrincipalProvider
searchType
- searchType Any of the following constants:- Returns:
- an empty principal iterator
- See Also:
PrincipalProvider.findPrincipals(String)
-
getPrincipals
public PrincipalIterator getPrincipals(int searchType)
Returns an iterator over all principals that match the given search type.- Specified by:
getPrincipals
in interfacePrincipalProvider
- Parameters:
searchType
- searchType Any of the following constants:- Returns:
- an empty principal iterator
-
getGroupMembership
public PrincipalIterator getGroupMembership(Principal principal)
Returns an iterator over all group principals for which the given principal is either direct or indirect member of. If a principal is a direct member of a group, then
evaluates toGroupPrincipal.isMember(Principal)
true
. A principal is an indirect member of a group if any of its groups (to any degree of separation) is direct member of the group.Example:
If Principal is member of Group A, and Group A is member of Group B, this method will return Group A and Group B.- Specified by:
getGroupMembership
in interfacePrincipalProvider
- Parameters:
principal
- the principal to return it's membership from.- Returns:
- an empty principal iterator
-
init
public void init(Properties options)
Initialize this provider.- Specified by:
init
in interfacePrincipalProvider
- Parameters:
options
- the options that are set
-
close
public void close()
This is called when a provider is not longer used by the repository. An implementation can then release any resources bound to this provider, eg. disconnect from a back end system.- Specified by:
close
in interfacePrincipalProvider
-
canReadPrincipal
public boolean canReadPrincipal(Session session, Principal principalToRead)
Tests if the provided session is allowed to read the given principal. Since the principal providers do not restrict the access on the principals they provide, this method is used by the PrincipalManger to ensure proper access rights for the client requesting the principals.- Specified by:
canReadPrincipal
in interfacePrincipalProvider
principalToRead
- The principal to be accessed by the specified subject.- Returns:
true
-
-