org.apache.jackrabbit.core.security
Class SimpleAccessManager

java.lang.Object
  extended byorg.apache.jackrabbit.core.security.SimpleAccessManager
All Implemented Interfaces:
AccessManager

public class SimpleAccessManager
extends Object
implements AccessManager

SimpleAccessManager ...


Field Summary
protected  boolean anonymous
           
protected  HierarchyManager hierMgr
          hierarchy manager used for ACL-based access control model
protected  Subject subject
          Subject whose access rights this AccessManager should reflect
protected  boolean system
           
 
Fields inherited from interface org.apache.jackrabbit.core.security.AccessManager
READ, REMOVE, WRITE
 
Constructor Summary
SimpleAccessManager()
          Empty constructor
 
Method Summary
 boolean canAccess(String workspaceName)
          Determines whether the subject of the current context is granted access to the given workspace.
 void checkPermission(ItemId id, int permissions)
          Determines whether the specified permissions are granted on the item with the specified id (i.e. the target item).
 void close()
          Close this access manager. After having closed an access manager, further operations on this object are treated as illegal and throw
 void init(AMContext context)
          Initialize this access manager. An AccessDeniedException will be thrown if the subject of the given context is not granted access to the specified workspace.
 boolean isGranted(ItemId id, int permissions)
          Determines whether the specified permissions are granted on the item with the specified id (i.e. the target item).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

subject

protected Subject subject
Subject whose access rights this AccessManager should reflect


hierMgr

protected HierarchyManager hierMgr
hierarchy manager used for ACL-based access control model


system

protected boolean system

anonymous

protected boolean anonymous
Constructor Detail

SimpleAccessManager

public SimpleAccessManager()
Empty constructor

Method Detail

init

public void init(AMContext context)
          throws AccessDeniedException,
                 Exception
Initialize this access manager. An AccessDeniedException will be thrown if the subject of the given context is not granted access to the specified workspace.

Specified by:
init in interface AccessManager
Parameters:
context - access manager context
Throws:
Exception - if another error occurs
AccessDeniedException - if the subject is not granted access to the specified workspace.

close

public void close()
           throws Exception
Close this access manager. After having closed an access manager, further operations on this object are treated as illegal and throw

Specified by:
close in interface AccessManager
Throws:
Exception - if an error occurs

checkPermission

public void checkPermission(ItemId id,
                            int permissions)
                     throws AccessDeniedException,
                            ItemNotFoundException,
                            RepositoryException
Determines whether the specified permissions are granted on the item with the specified id (i.e. the target item).

Specified by:
checkPermission in interface AccessManager
Parameters:
id - the id of the target item
permissions - A combination of one or more of the following constants encoded as a bitmask value:
  • READ
  • WRITE
  • REMOVE
Throws:
ItemNotFoundException - if the target item does not exist
AccessDeniedException - if permission is denied
RepositoryException - it an error occurs

isGranted

public boolean isGranted(ItemId id,
                         int permissions)
                  throws ItemNotFoundException,
                         RepositoryException
Determines whether the specified permissions are granted on the item with the specified id (i.e. the target item).

Specified by:
isGranted in interface AccessManager
Parameters:
id - the id of the target item
permissions - A combination of one or more of the following constants encoded as a bitmask value:
  • READ
  • WRITE
  • REMOVE
Returns:
true if permission is granted; otherwise false
Throws:
ItemNotFoundException - if the target item does not exist
RepositoryException - if another error occurs

canAccess

public boolean canAccess(String workspaceName)
                  throws NoSuchWorkspaceException,
                         RepositoryException
Determines whether the subject of the current context is granted access to the given workspace.

Specified by:
canAccess in interface AccessManager
Parameters:
workspaceName - name of workspace
Returns:
true if the subject of the current context is granted access to the given workspace; otherwise false.
Throws:
NoSuchWorkspaceException - if a workspace with the given name does not exist.
RepositoryException - if another error occurs


Copyright © 2004-2006 The Apache Software Foundation. All Rights Reserved.