atg.security
Class EveryonePersona

java.lang.Object
  extended by atg.security.EveryonePersona
All Implemented Interfaces:
Persona, java.security.Principal

public class EveryonePersona
extends java.lang.Object
implements Persona

A special version of a persona that acts as if it has all other personae in the same user authority as sub-personae.

The StandardSecurityPolicy uses this to detect "EVERYONE" ACL entries, allowing the ACE to apply to all users even though none have this persona explicitly.


Field Summary
static java.lang.String CLASS_VERSION
           
static java.lang.String NAME
           
 
Constructor Summary
EveryonePersona()
          Creates an un-associated persona that applies to everyone in a user authority.
EveryonePersona(UserAuthority pAuthority)
          Creates a persona that applies to everyone in a user authority.
 
Method Summary
 void addSubPersona(Persona newSubPersona)
          Adds a new sub-persona.
 boolean equals(java.lang.Object pObject)
          Returns true if this persona is equivalent to another.
 java.util.Collection getAccessRights()
          Returns the access rights associated with the principal
 java.lang.Object getAttribute(java.lang.String attributeName)
          Retrieves the value of a named attribute of the persona's account.
 java.lang.String getName()
          Returns the machine-readable name of the persona, useful for persisting the object.
 Persona[] getSubPersonae()
          Returns a list of sub-personae that compose this persona.
 UserAuthority getUserAuthority()
          Returns the authority that manages this persona.
 boolean hasPersona(Persona persona)
          Returns true if this persona matches or encompasses the indicated persona.
 boolean hasRole(java.lang.String roleName)
          Returns true if this persona is or has a sub-persona with the given name.
 void removeSubPersona(Persona oldPersona)
          Removes a sub-persona.
 void setSubPersonae(Persona[] newSubPersonae)
          Changes the list of sub-personae that compose this persona.
 void setUserAuthority(UserAuthority pAuthority)
          Changes the authority that manages this persona.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.security.Principal
hashCode, toString
 

Field Detail

CLASS_VERSION

public static java.lang.String CLASS_VERSION

NAME

public static final java.lang.String NAME
See Also:
Constant Field Values
Constructor Detail

EveryonePersona

public EveryonePersona()
Creates an un-associated persona that applies to everyone in a user authority. This persona is not valid until it is associated with a user authority by calling setUserAuthority().


EveryonePersona

public EveryonePersona(UserAuthority pAuthority)
Creates a persona that applies to everyone in a user authority.

Method Detail

setUserAuthority

public void setUserAuthority(UserAuthority pAuthority)
Changes the authority that manages this persona.


getName

public java.lang.String getName()
Returns the machine-readable name of the persona, useful for persisting the object.

Specified by:
getName in interface Persona
Specified by:
getName in interface java.security.Principal

getUserAuthority

public UserAuthority getUserAuthority()
Returns the authority that manages this persona.

Specified by:
getUserAuthority in interface Persona

equals

public boolean equals(java.lang.Object pObject)
Returns true if this persona is equivalent to another.

Specified by:
equals in interface Persona
Specified by:
equals in interface java.security.Principal
Overrides:
equals in class java.lang.Object

hasPersona

public boolean hasPersona(Persona persona)
Returns true if this persona matches or encompasses the indicated persona.

Specified by:
hasPersona in interface Persona

getSubPersonae

public Persona[] getSubPersonae()
Returns a list of sub-personae that compose this persona.

Specified by:
getSubPersonae in interface Persona

setSubPersonae

public void setSubPersonae(Persona[] newSubPersonae)
                    throws InvalidPersonaException
Changes the list of sub-personae that compose this persona.

Specified by:
setSubPersonae in interface Persona
Throws:
InvalidPersonaException

addSubPersona

public void addSubPersona(Persona newSubPersona)
                   throws InvalidPersonaException
Adds a new sub-persona.

Specified by:
addSubPersona in interface Persona
Throws:
InvalidPersonaException

removeSubPersona

public void removeSubPersona(Persona oldPersona)
                      throws InvalidPersonaException
Removes a sub-persona.

Specified by:
removeSubPersona in interface Persona
Throws:
InvalidPersonaException

getAttribute

public java.lang.Object getAttribute(java.lang.String attributeName)
Retrieves the value of a named attribute of the persona's account. This is a general escape hatch for passing information between the account database and the security domain and is primarily used to allow the security domain to determine the default ACL to use when creating secured resources.

Specified by:
getAttribute in interface Persona
See Also:
SecurityDomain.createResource(java.lang.Object, java.lang.Object, atg.security.AccessControlEntry[])

hasRole

public boolean hasRole(java.lang.String roleName)
Returns true if this persona is or has a sub-persona with the given name.

Specified by:
hasRole in interface Persona

getAccessRights

public java.util.Collection getAccessRights()
Returns the access rights associated with the principal

Specified by:
getAccessRights in interface Persona