 
Chapter 18.  The java.security.acl Package
  The java.security.acl 
  package defines, but does not implement, an incomplete framework
  for working with access control lists (ACLs). This package was added
  in Java 1.1, but has been superseded in Java 1.2 by the access-control
  mechanisms of the java.security package. In
  particular, see the Permission and
  Policy classes of that package. The use of this
  package is not recommended. Figure 18-1 shows the class hierarchy of
  this package.
Figure 18-1. The java.security.acl package
| Acl | Java 1.1 | 
|  | 
| java.security.acl |  | 
  This interface represents an access control list, or ACL. An ACL
  is a list of AclEntry objects; most of the
  methods of this class manage that list. The exception is the
  checkPermission() method that tests whether this
  ACL grants a specified java.security.acl.Permission
  to a specified java.security.Principal. Note that
  Acl extends Owner. The methods
  of the Owner interface maintain a list
  of ACL owners. Only owners are allowed to modify an ACL. 
| public interface Acl extends Owner { | 
| // | Public Instance Methods | 
|  | public abstract boolean addEntry (java.security.Principal caller, AclEntry entry) throws NotOwnerException; |  | 
|  | public abstract boolean checkPermission (java.security.Principal principal, java.security.acl.Permission permission); |  | 
|  | public abstract java.util.Enumeration entries (); |  | 
|  | public abstract String getName (); |  | 
|  | public abstract java.util.Enumeration getPermissions (java.security.Principal user); |  | 
|  | public abstract boolean removeEntry (java.security.Principal caller, AclEntry entry) throws NotOwnerException; |  | 
|  | public abstract void setName (java.security.Principal caller, String name) throws NotOwnerException; |  | 
|  | public abstract String toString (); |  | 
| } | 
 
Hierarchy: (Acl(Owner))
 
| AclEntry | Java 1.1 | 
|  | 
| java.security.acl | cloneable | 
  This interface defines a single entry of an ACL. Each AclEntry represents a set of
  java.security.acl.Permission objects either granted or
  denied to a given java.security.Principal. By
  default, an AclEntry represents permissions granted
  to the principal. Call setNegativePermissions() if
  you want the AclEntry to represent a set of
  permissions to be denied. 
| public interface AclEntry extends Cloneable { | 
| // | Public Instance Methods | 
|  | public abstract boolean addPermission (java.security.acl.Permission permission); |  | 
|  | public abstract boolean checkPermission (java.security.acl.Permission permission); |  | 
|  | public abstract Object clone (); |  | 
|  | public abstract java.security.Principal getPrincipal (); |  | 
|  | public abstract boolean isNegative (); |  | 
|  | public abstract java.util.Enumeration permissions (); |  | 
|  | public abstract boolean removePermission (java.security.acl.Permission permission); |  | 
|  | public abstract void setNegativePermissions (); |  | 
|  | public abstract boolean setPrincipal (java.security.Principal user); |  | 
|  | public abstract String toString (); |  | 
| } | 
 
Hierarchy: (AclEntry(Cloneable))
Passed To: Acl.{addEntry(), removeEntry()}
 
| AclNotFoundException | Java 1.1 | 
|  | 
| java.security.acl | serializable checked | 
  Signals that the specified Acl could not be found. Note that none of the interfaces in
  java.security.acl throw this exception; it is
  provided for the benefit of Acl implementations. 
| public class AclNotFoundException extends Exception { | 
| // | Public Constructors | 
|  | public AclNotFoundException (); |  | 
| } | 
 
Hierarchy: Object-->Throwable(Serializable)-->Exception-->AclNotFoundException
 
| Group | Java 1.1 | 
|  | 
| java.security.acl |  | 
  This interface represents a set, or group, of
  java.security.Principal objects. The methods of
  the interface serve to manage the membership of the group. Note that
  Group extends the Principal
  interface, and, therefore, you can use a Group
  object wherever you would use a Principal object in
  this package. 
| public interface Group extends java.security.Principal { | 
| // | Public Instance Methods | 
|  | public abstract boolean addMember (java.security.Principal user); |  | 
|  | public abstract boolean isMember (java.security.Principal member); |  | 
|  | public abstract java.util.Enumeration members (); |  | 
|  | public abstract boolean removeMember (java.security.Principal user); |  | 
| } | 
 
Hierarchy: (Group(java.security.Principal))
 
| LastOwnerException | Java 1.1 | 
|  | 
| java.security.acl | serializable checked | 
  Signals that an Acl or Owner has
  only one Principal remaining in its ownership list
  and that this single owner cannot be removed. 
| public class LastOwnerException extends Exception { | 
| // | Public Constructors | 
|  | public LastOwnerException (); |  | 
| } | 
 
Hierarchy: Object-->Throwable(Serializable)-->Exception-->LastOwnerException
Thrown By: Owner.deleteOwner()
 
| NotOwnerException | Java 1.1 | 
|  | 
| java.security.acl | serializable checked | 
  Thrown by various methods of Acl
  and Owner when they are called by a
  Principal that is not an owner. 
| public class NotOwnerException extends Exception { | 
| // | Public Constructors | 
|  | public NotOwnerException (); |  | 
| } | 
 
Hierarchy: Object-->Throwable(Serializable)-->Exception-->NotOwnerException
Thrown By: Acl.{addEntry(), removeEntry(), setName()}, Owner.{addOwner(), deleteOwner()}
 
| Owner | Java 1.1 | 
|  | 
| java.security.acl |  | 
  This interface represents the owner or owners of an ACL. The interface defines methods for managing and checking
  membership in the list of owners. 
| public interface Owner  { | 
| // | Public Instance Methods | 
|  | public abstract boolean addOwner (java.security.Principal caller, java.security.Principal owner) throws NotOwnerException; |  | 
|  | public abstract boolean deleteOwner (java.security.Principal caller, java.security.Principal owner) throws NotOwnerExceptionLastOwnerException; |  | 
|  | public abstract boolean isOwner (java.security.Principal owner); |  | 
| } | 
 
Implementations: Acl
 
| Permission | Java 1.1 | 
|  | 
| java.security.acl |  | 
  This interface represents a permission. The meaning of the permission
  is entirely up to the implementation. Do not confuse this interface
  with the newer java.security.Permission class. Also note that this interface does not have the
  implies() method of
  java.security.Permission and is therefore
  significantly less versatile. 
| public interface Permission  { | 
| // | Public Instance Methods | 
|  | public abstract boolean equals (Object another); |  | 
|  | public abstract String toString (); |  | 
| } | 
 
Passed To: Acl.checkPermission(), AclEntry.{addPermission(), checkPermission(), removePermission()}
 
|  |  |  | 
| 17.1. The java.security Package |  | 19. The java.security.cert Package | 
 

Copyright © 2001 O'Reilly & Associates. All rights reserved.