|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.tivoli.pd.jutil.PDEnvironmentObject
com.tivoli.pd.jazn.PDPrincipal
public class PDPrincipal
This class implements the Principal
interface
and represents general information about a Policy Director user.
Principals such as this PDPrincipal
may be associated with a particular Subject
to augment that Subject
with an additional
identity. Refer to the Subject
class for more information
on how to achieve this. Authorization decisions can then be based upon
the Principals associated with a Subject
.
Modes: Local,Remote
Principal
,
Subject
,
Serialized FormConstructor Summary | |
---|---|
PDPrincipal()
Serialization use only. |
|
PDPrincipal(PDAuthorizationContext ctxt)
Constructs a PDPrincipal for an unauthenticated user within the domain represented by the authorization context. |
|
PDPrincipal(PDAuthorizationContext ctxt,
byte[] creds)
Constructs an Security Access Manager PDPrincipal from a byte array PAC. |
|
PDPrincipal(PDAuthorizationContext ctxt,
java.lang.String name)
Constructs a PDPrincipal based on a userid within the domain represented by the authorization context. |
|
PDPrincipal(PDAuthorizationContext ctxt,
java.lang.String name,
char[] password)
Constructs a PDPrincipal based on a userid-password authentication to the domain represented by the authorization context. |
Method Summary | |
---|---|
PDPrincipal |
addAttribute(PDAuthorizationContext ctxt,
java.lang.String name,
PDAttrValueList values)
Return a new PDPrincipal that contains the added credential attribute. |
PDPrincipal |
addAttrlist(PDAuthorizationContext ctxt,
PDAttrs modList)
Return a new PDPrincipal that contains the modified credential attribute list. |
PDPrincipal |
addGroupMemberships(PDAuthorizationContext ctxt,
java.lang.String serviceID,
java.lang.String[] groups)
Return a new PDPrincipal that adds these group memberships to the current PDPrincipal |
boolean |
equals(java.lang.Object o)
Compares the specified Object with this PDPrincipal
for equality. |
PDAttrValueList |
getAttribute(PDAuthorizationContext ctxt,
java.lang.String name)
Return the values for a given attribute. |
java.lang.String[] |
getAttributeNames(PDAuthorizationContext ctxt)
Return the attribute names in the credential attribute list. |
java.lang.Object |
getAttributeValue(PDAuthorizationContext ctxt,
java.lang.String name)
Return the value for a given attribute. |
PDAttrs |
getAttrlist(PDAuthorizationContext ctxt)
Return a copy of the credential attribute list for this principal. |
PDAttrs |
getEntitlements(PDAuthorizationContext ctxt,
java.lang.String serviceID,
PDAttrs attrsIn)
Return all the objects to which this PDPrincipal has the specified access. |
java.lang.String |
getName()
Return a string name of this PDPrincipal . |
byte[] |
getPAC(PDAuthorizationContext ctxt)
Obtain an architecture and network independent encoding of the this principal. |
int |
hashCode()
Return a hash code for this PDPrincipal . |
boolean |
implies(javax.security.auth.Subject subject)
Check if the specified Subject is implied by
this object. |
void |
readExternal(java.io.ObjectInput in)
Read the state of the PDPrincipal instance from a stream. |
PDPrincipal |
removeAttribute(PDAuthorizationContext ctxt,
java.lang.String name)
Return a new PDPrincipal that does not contain the named attribute. |
PDPrincipal |
removeGroupMemberships(PDAuthorizationContext ctxt,
java.lang.String serviceID,
java.lang.String[] groups)
Return a new PDPrincipal that removes these group memberships from the current PDPrincipal. |
PDPrincipal |
setAttribute(PDAuthorizationContext ctxt,
java.lang.String name,
PDAttrValueList values)
Return a new PDPrincipal that contains the modified attribute. |
PDPrincipal |
setAttrlist(PDAuthorizationContext ctxt,
PDAttrs modList)
Return a new PDPrincipal that contains the modified credential attribute list. |
void |
setContext(PDAuthorizationContext ctxt)
Set the authorization context of this PDPrincipal instance. |
java.lang.String |
toString()
Return a string representation of this PDPrincipal . |
void |
writeExternal(java.io.ObjectOutput out)
Save the state of the PDPrincipal instance to a stream (that is, serialize it). |
Methods inherited from class com.tivoli.pd.jutil.PDEnvironmentObject |
---|
getContext, setContext |
Methods inherited from class java.lang.Object |
---|
getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public PDPrincipal(PDAuthorizationContext ctxt, java.lang.String name, char[] password) throws PDException
ctxt
- the authorization context. The authorization context is
the connection to the Security Access Manager domain.name
- the identifying name. password
- the password for the identifying name.
PDException
- if an error occurs.
This exception may contain error and message codes defined in the
product Error Message Reference document.public PDPrincipal(PDAuthorizationContext ctxt, java.lang.String name) throws PDException
This method requires the
javax.security.auth.AuthPermission("createPDPrincipal")
permission.
ctxt
- the authorization context. The authorization context is
the connection to the Security Access Manager domain.name
- the identifying name.
PDException
- if an error occurs.
This exception may contain error and message codes defined in the
product Error Message Reference document.public PDPrincipal(PDAuthorizationContext ctxt) throws PDException
ctxt
- the authorization context. The authorization context represents
the connection to the Security Access Manager domain.
PDException
- if an error occurs.
This exception may contain error and message codes defined in the
product Error Message Reference document.public PDPrincipal(PDAuthorizationContext ctxt, byte[] creds) throws PDException
PDPrincipal.getPAC()
method of the Security Access Manager Authorization API for Java or the azn_creds_get_pac()
interface of Security Access Manager Authorization C API.
ctxt
- the authorization context. The authorization context represents
the connection to the Security Access Manager domain.creds
- user credential byte array in PAC format.
PDException
- if an error occurs.
This exception may contain error and message codes defined in the
product Error Message Reference document.public PDPrincipal() throws PDException
PDException
- if an error occurs.
This exception may contain error and message codes defined in the
product Error Message Reference document.Method Detail |
---|
public PDPrincipal addGroupMemberships(PDAuthorizationContext ctxt, java.lang.String serviceID, java.lang.String[] groups) throws PDException
ctxt
- the authorization context. The authorization context represents
the connection to the Security Access Manager domain.serviceID
- the credential modification service identifier. If
null
, the default credential modification service will be
employed.groups
- the groups to be added to the new PDPrincipal's credentials
PDException
- if an error occurs.
This exception may contain error and message codes defined in the
product Error Message Reference document.public PDPrincipal removeGroupMemberships(PDAuthorizationContext ctxt, java.lang.String serviceID, java.lang.String[] groups) throws PDException
Attempting to remove an "invalid" group (i.e. the group does not exist) will fail.
Attempting to remove a "valid" group (i.e. the group does exist) that is not currently a member of this object's group memberships will not fail.
Having the same group in the groups array more than once is allowed.
ctxt
- the authorization context. The authorization context represents
the connection to the Security Access Manager domain.serviceID
- the credential modification service identifier. If
null
, the default credential modification service will be
employed.groups
- the groups to be removed from the new PDPrincipal's credentials
PDException
- if an error occurs.
This exception may contain error and message codes defined in the
product Error Message Reference document.public PDAttrs getEntitlements(PDAuthorizationContext ctxt, java.lang.String serviceID, PDAttrs attrsIn) throws PDException
ctxt
- the authorization context. The authorization context represents
the connection to the Security Access Manager domain.serviceID
- the entitlements service identifier. If
null
, the default entitlements service will be
employed.attrsIn
- the names of objects to be reported on and the type(s) of access.
The default entitlements server supports passing in
multiple places in the objectspace by mechanisms like
attrsIn.add(PDStatics.AZN_ENT_SVC_PD_POBJ_PATH, "/Management/GSO"); attrsIn.add(PDStatics.AZN_ENT_SVC_PD_POBJ_PATH, "/Management/Policy");but attempts to pass in multiple separate permissions to search on will result in an IllegalArgumentException. A single string that contains multiple permissions is acceptable. Thus,
attrsIn.add(PDStatics.AZN_ENT_SVC_PD_POBJ_REQD_OPS, "T"); attrsIn.add(PDStatics.AZN_ENT_SVC_PD_POBJ_REQD_OPS, "r");is not currently allowed, but
attrsIn.add(PDStatics.AZN_ENT_SVC_PD_POBJ_REQD_OPS, "Tr");is permissible.
PDException
- if an error occurs.
This exception may contain error and message codes defined in the
product Error Message Reference document.public java.lang.String getName()
PDPrincipal
.
getName
in interface java.security.Principal
PDPrincipal
public byte[] getPAC(PDAuthorizationContext ctxt) throws PDException
PDPrincipal
, or null
on error.
PDException
- if an error occurs.
This exception may contain error and message codes defined in the
product Error Message Reference document.public java.lang.String toString()
PDPrincipal
.
toString
in interface java.security.Principal
toString
in class java.lang.Object
PDPrincipal
.public boolean equals(java.lang.Object o)
PDPrincipal
for equality. Returns true if the given object is also a
PDPrincipal
and the two PDPrincipals have the
same String representation.
equals
in interface java.security.Principal
equals
in class java.lang.Object
o
- Object to be compared for equality with this
PDPrincipal
.
PDPrincipal
.public int hashCode()
PDPrincipal
.
hashCode
in interface java.security.Principal
hashCode
in class java.lang.Object
PDPrincipal
.public boolean implies(javax.security.auth.Subject subject)
Subject
is implied by
this object.
implies
in interface com.ibm.security.auth.PrincipalComparator
subject
- a Subject
to check for implication.
Subject
is implied by
this object, or false otherwise.public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException
readExternal
in interface java.io.Externalizable
java.io.IOException
java.lang.ClassNotFoundException
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
writeExternal
in interface java.io.Externalizable
java.io.IOException
public void setContext(PDAuthorizationContext ctxt)
ctxt
- the PDAuthorizationContext to be set.public PDAttrs getAttrlist(PDAuthorizationContext ctxt) throws PDException
PDAttrs
.
ctxt
- PDAuthorizationContext
PDException
- if an error occurs.
This exception may contain error and message codes defined in the
product Error Message Reference document.public PDPrincipal setAttrlist(PDAuthorizationContext ctxt, PDAttrs modList) throws PDException
ctxt
- PDAuthorizationContextmodList
- the modified attribute list. Any read-only
attributes in the attrlist cannot be modified and are ignored.
See PDStatics
for the set of read-only attributes.
Replace the existing attrlist with the modify list, except for
the read-only attributes. Attribute names are not case sensitive.
An empty or null modify list sets the credential attribute list with
just read-only attributes.
null
if an error occurred.
PDException
- if an error occurs.
This exception may contain error and message codes defined in the
product Error Message Reference document.public PDPrincipal addAttrlist(PDAuthorizationContext ctxt, PDAttrs modList) throws PDException
ctxt
- PDAuthorizationContextmodList
- the modified attribute list. Any read-only
attributes in the attrlist cannot be modified and are ignored.
See PDStatics
for the set of read-only attributes.
Add the modify list to the existing list, except for
the read-only attributes. Attribute names are not case sensitive.
null
if an error occurred.
PDException
- if an error occurs.
This exception may contain error and message codes defined in the
product Error Message Reference document.public PDAttrValueList getAttribute(PDAuthorizationContext ctxt, java.lang.String name) throws PDException
null
if there are
no values.
name
- attribute name
if
- an error occurs.
This exception may contain error and message codes defined in the
product Error Message Reference document.
PDException
public PDPrincipal setAttribute(PDAuthorizationContext ctxt, java.lang.String name, PDAttrValueList values) throws PDException
null
if no changes were made. Use setAttrlist
to change more than one attribute.
ctxt
- PDAuthorizationContextname
- the name of the attribute to modify. If the attribute is
read-only, it is ignored. If the attribute does not already exist, it is
added. Otherwise, the attribute and its values are replaced.
See PDStatics
for the set of read-only attributes.values
- the attribute values. An empty or null values results in
this attribute being removed.
null
if no change was made.
PDException
- if an error occurs.
This exception may contain error and message codes defined in the
product Error Message Reference document.public PDPrincipal addAttribute(PDAuthorizationContext ctxt, java.lang.String name, PDAttrValueList values) throws PDException
semanticist
to add more than one attribute.
ctxt
- PDAuthorizationContextname
- attribute name to add. If the attribute is read-only, it
is ignored.
See PDStatics
for the set of read-only attributes.values
- attribute values to add
null
if no change was made.
PDException
- if an error occurs.
This exception may contain error and message codes defined in the
product Error Message Reference document.public PDPrincipal removeAttribute(PDAuthorizationContext ctxt, java.lang.String name) throws PDException
ctxt
- PDAuthorizationContextname
- the attribute to remove. If the attribute is read-only, it
is ignored.
See PDStatics
for the set of read-only attributes.
null
if no change was made.
PDException
- if an error occurs.
This exception may contain error and message codes defined in the
product Error Message Reference document.public java.lang.String[] getAttributeNames(PDAuthorizationContext ctxt) throws PDException
ctxt
- PDAuthorizationContext
PDException
- if an error occurs.
This exception may contain error and message codes defined in the
product Error Message Reference document.public java.lang.Object getAttributeValue(PDAuthorizationContext ctxt, java.lang.String name) throws PDException
null
if there
are no values.
name
- attribute namectxt
- PDAuthorizationContext
PDException
- if an error occurs.
This exception may contain error and message codes defined in the
product Error Message Reference document.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |