public class DefaultAuthorizationInterceptor extends BaseInterceptor
Interceptor that controls access to DefaultPartitionNexus.
If a user tries to perform any operations that requires
permission he or she doesn't have, NoPermissionException will be
thrown and therefore the current invocation chain will terminate.| Modifier and Type | Class and Description |
|---|---|
private class |
DefaultAuthorizationInterceptor.DefaultAuthorizationSearchFilter
the search result filter to use for collective attribute injection
|
| Modifier and Type | Field and Description |
|---|---|
private org.apache.directory.api.ldap.model.name.Dn |
adminGroupDn
the distinguished
Name for the administrator group |
private java.util.Set<java.lang.String> |
administrators |
private org.apache.directory.api.ldap.model.name.Dn |
adminSystemDn
the base distinguished
Name for the admin system |
private org.apache.directory.api.ldap.model.name.Dn |
groupsBaseDn
the base distinguished
Name for all groups |
private static org.slf4j.Logger |
LOG
the logger for this class
|
private PartitionNexus |
nexus |
private org.apache.directory.api.ldap.model.name.Dn |
usersBaseDn
the base distinguished
Name for all users |
directoryService, dnFactory, PWD_POLICY_STATE_ATTRIBUTE_TYPES, schemaManager| Constructor and Description |
|---|
DefaultAuthorizationInterceptor()
Creates a new instance of DefaultAuthorizationInterceptor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
delete(DeleteOperationContext deleteContext)
Filters
Partition#delete( DeleteOperationContext ) call. |
void |
init(DirectoryService directoryService)
This method does nothing by default.
|
private boolean |
isAnAdministrator(org.apache.directory.api.ldap.model.name.Dn dn) |
private boolean |
isSearchable(OperationContext opContext,
org.apache.directory.api.ldap.model.entry.Entry entry) |
private boolean |
isTheAdministrator(org.apache.directory.api.ldap.model.name.Dn dn) |
private void |
loadAdministrators(DirectoryService directoryService) |
org.apache.directory.api.ldap.model.entry.Entry |
lookup(LookupOperationContext lookupContext)
Filters
Partition#lookup( LookupOperationContext ) call. |
void |
modify(ModifyOperationContext modifyContext)
Filters
Partition#modify( ModifyOperationContext ) call. |
void |
move(MoveOperationContext moveContext)
Filters
Partition#move( MoveOperationContext ) call. |
void |
moveAndRename(MoveAndRenameOperationContext moveAndRenameContext)
Filters
Partition#moveAndRename( MoveAndRenameOperationContext) call. |
private void |
protectDnAlterations(OperationContext opCtx,
org.apache.directory.api.ldap.model.name.Dn dn) |
private void |
protectLookUp(org.apache.directory.api.ldap.model.name.Dn principalDn,
org.apache.directory.api.ldap.model.name.Dn normalizedDn) |
private void |
protectModifyAlterations(OperationContext opCtx,
org.apache.directory.api.ldap.model.name.Dn dn) |
void |
rename(RenameOperationContext renameContext)
Filters
Partition#rename( RenameOperationContext ) call. |
EntryFilteringCursor |
search(SearchOperationContext searchContext)
Filters
Partition#search( SearchOperationContext ) call. |
private static final org.slf4j.Logger LOG
private org.apache.directory.api.ldap.model.name.Dn adminSystemDn
Name for the admin systemprivate org.apache.directory.api.ldap.model.name.Dn groupsBaseDn
Name for all groupsprivate org.apache.directory.api.ldap.model.name.Dn usersBaseDn
Name for all usersprivate org.apache.directory.api.ldap.model.name.Dn adminGroupDn
Name for the administrator groupprivate java.util.Set<java.lang.String> administrators
private PartitionNexus nexus
public DefaultAuthorizationInterceptor()
public void init(DirectoryService directoryService) throws org.apache.directory.api.ldap.model.exception.LdapException
BaseInterceptorinit in interface Interceptorinit in class BaseInterceptororg.apache.directory.api.ldap.model.exception.LdapExceptionprivate void loadAdministrators(DirectoryService directoryService) throws org.apache.directory.api.ldap.model.exception.LdapException
org.apache.directory.api.ldap.model.exception.LdapExceptionpublic void delete(DeleteOperationContext deleteContext) throws org.apache.directory.api.ldap.model.exception.LdapException
Partition#delete( DeleteOperationContext ) call.delete in interface Interceptordelete in class BaseInterceptororg.apache.directory.api.ldap.model.exception.LdapExceptionpublic org.apache.directory.api.ldap.model.entry.Entry lookup(LookupOperationContext lookupContext) throws org.apache.directory.api.ldap.model.exception.LdapException
Partition#lookup( LookupOperationContext ) call.lookup in interface Interceptorlookup in class BaseInterceptororg.apache.directory.api.ldap.model.exception.LdapExceptionpublic void modify(ModifyOperationContext modifyContext) throws org.apache.directory.api.ldap.model.exception.LdapException
Partition#modify( ModifyOperationContext ) call.modify in interface Interceptormodify in class BaseInterceptororg.apache.directory.api.ldap.model.exception.LdapExceptionpublic void move(MoveOperationContext moveContext) throws org.apache.directory.api.ldap.model.exception.LdapException
Partition#move( MoveOperationContext ) call.move in interface Interceptormove in class BaseInterceptororg.apache.directory.api.ldap.model.exception.LdapExceptionpublic void moveAndRename(MoveAndRenameOperationContext moveAndRenameContext) throws org.apache.directory.api.ldap.model.exception.LdapException
Partition#moveAndRename( MoveAndRenameOperationContext) call.moveAndRename in interface InterceptormoveAndRename in class BaseInterceptororg.apache.directory.api.ldap.model.exception.LdapExceptionpublic void rename(RenameOperationContext renameContext) throws org.apache.directory.api.ldap.model.exception.LdapException
Partition#rename( RenameOperationContext ) call.rename in interface Interceptorrename in class BaseInterceptororg.apache.directory.api.ldap.model.exception.LdapExceptionpublic EntryFilteringCursor search(SearchOperationContext searchContext) throws org.apache.directory.api.ldap.model.exception.LdapException
Partition#search( SearchOperationContext ) call.search in interface Interceptorsearch in class BaseInterceptororg.apache.directory.api.ldap.model.exception.LdapExceptionprivate boolean isTheAdministrator(org.apache.directory.api.ldap.model.name.Dn dn)
private boolean isAnAdministrator(org.apache.directory.api.ldap.model.name.Dn dn)
private void protectModifyAlterations(OperationContext opCtx, org.apache.directory.api.ldap.model.name.Dn dn) throws org.apache.directory.api.ldap.model.exception.LdapException
org.apache.directory.api.ldap.model.exception.LdapExceptionprivate void protectDnAlterations(OperationContext opCtx, org.apache.directory.api.ldap.model.name.Dn dn) throws org.apache.directory.api.ldap.model.exception.LdapException
org.apache.directory.api.ldap.model.exception.LdapExceptionprivate void protectLookUp(org.apache.directory.api.ldap.model.name.Dn principalDn,
org.apache.directory.api.ldap.model.name.Dn normalizedDn)
throws org.apache.directory.api.ldap.model.exception.LdapException
org.apache.directory.api.ldap.model.exception.LdapExceptionprivate boolean isSearchable(OperationContext opContext, org.apache.directory.api.ldap.model.entry.Entry entry) throws org.apache.directory.api.ldap.model.exception.LdapException
org.apache.directory.api.ldap.model.exception.LdapException