public class PolicyConfigurationImpl extends Object implements javax.security.jacc.PolicyConfiguration
| Modifier and Type | Field and Description |
|---|---|
static int |
DELETED_STATE |
static int |
INSERVICE_STATE |
static int |
OPEN_STATE |
protected int |
state |
| Modifier | Constructor and Description |
|---|---|
protected |
PolicyConfigurationImpl(File applicationPolicyDirectory,
boolean open,
boolean remove,
PolicyConfigurationFactoryImpl fact) |
protected |
PolicyConfigurationImpl(String contextId,
PolicyConfigurationFactoryImpl fact) |
| Modifier and Type | Method and Description |
|---|---|
void |
addToExcludedPolicy(Permission permission)
Used to add a single excluded policy statement to this
PolicyConfiguration.
|
void |
addToExcludedPolicy(PermissionCollection permissions)
Used to add excluded policy statements to this PolicyConfiguration.
|
void |
addToRole(String roleName,
Permission permission)
Used to add a single permission to a named role in this
PolicyConfiguration.
|
void |
addToRole(String roleName,
PermissionCollection permissions)
Used to add permissions to a named role in this PolicyConfiguration.
|
void |
addToUncheckedPolicy(Permission permission)
Used to add a single unchecked policy statement to this
PolicyConfiguration.
|
void |
addToUncheckedPolicy(PermissionCollection permissions)
Used to add unchecked policy statements to this PolicyConfiguration.
|
protected void |
checkSetPolicyPermission() |
void |
commit()
This method is used to set to "inService" the state of the policy context
whose interface is this PolicyConfiguration Object.
|
void |
delete()
Causes all policy statements to be deleted from this PolicyConfiguration
and sets its internal state such that calling any method, other than
delete, getContextID, or inService on the PolicyConfiguration will
be rejected and cause an UnsupportedOperationException to be thrown.
|
String |
getContextID()
This method returns this object's policy context identifier.
|
protected Permissions |
getExcludedPolicy() |
protected Policy |
getPolicy() |
protected void |
initialize(boolean open,
boolean remove,
boolean fromFile) |
boolean |
inService()
This method is used to determine if the policy context whose interface is
this PolicyConfiguration Object is in the "inService" state.
|
void |
linkConfiguration(javax.security.jacc.PolicyConfiguration link)
Creates a relationship between this configuration and another
such that they share the same principal-to-role mappings.
|
protected void |
refresh(boolean force) |
void |
removeExcludedPolicy()
Used to remove any excluded policy statements from this
PolicyConfiguration.
|
void |
removeRole(String roleName)
Used to remove a role and all its permissions from this
PolicyConfiguration.
|
void |
removeUncheckedPolicy()
Used to remove any unchecked policy statements from this
PolicyConfiguration.
|
public static final int OPEN_STATE
public static final int INSERVICE_STATE
public static final int DELETED_STATE
protected int state
protected PolicyConfigurationImpl(String contextId, PolicyConfigurationFactoryImpl fact)
protected PolicyConfigurationImpl(File applicationPolicyDirectory, boolean open, boolean remove, PolicyConfigurationFactoryImpl fact)
applicationPolicyDirectory, - need to have absolute pathopen, - then mark state as openremove, - then remove any existing policy statementspublic String getContextID() throws javax.security.jacc.PolicyContextException
getContextID in interface javax.security.jacc.PolicyConfigurationSecurityException - if called by an AccessControlContext that has not been
granted the "setPolicy" SecurityPermission.javax.security.jacc.PolicyContextException - if the implementation throws a checked exception that has not been
accounted for by the getContextID method signature. The exception thrown
by the implementation class will be encapsulated (during construction)
in the thrown PolicyContextException.public void addToRole(String roleName, PermissionCollection permissions) throws javax.security.jacc.PolicyContextException
It is the job of the Policy provider to ensure that all the permissions added to a role are granted to principals "mapped to the role".
addToRole in interface javax.security.jacc.PolicyConfigurationroleName - the name of the Role to which the permissions are
to be added.
permissions - the collection of permissions to be added
to the role. The collection may be either a homogenous or
heterogenous collection.SecurityException - if called by an AccessControlContext that has not been
granted the "setPolicy" SecurityPermission.UnsupportedOperationException - if the state of the policy context whose interface is this
PolicyConfiguration Object is "deleted" or "inService" when this
method is called.javax.security.jacc.PolicyContextException - if the implementation throws a checked exception that has not been
accounted for by the addToRole method signature. The exception thrown
by the implementation class will be encapsulated (during construction)
in the thrown PolicyContextException.public void addToRole(String roleName, Permission permission) throws javax.security.jacc.PolicyContextException
It is the job of the Policy provider to ensure that all the permissions added to a role are granted to principals "mapped to the role".
addToRole in interface javax.security.jacc.PolicyConfigurationroleName - the name of the Role to which the permission is
to be added.
permission - the permission to be added
to the role.SecurityException - if called by an AccessControlContext that has not been
granted the "setPolicy" SecurityPermission.UnsupportedOperationException - if the state of the policy context whose interface is this
PolicyConfiguration Object is "deleted" or "inService" when this
method is called.javax.security.jacc.PolicyContextException - if the implementation throws a checked exception that has not been
accounted for by the addToRole method signature. The exception thrown
by the implementation class will be encapsulated (during construction)
in the thrown PolicyContextException.public void addToUncheckedPolicy(PermissionCollection permissions) throws javax.security.jacc.PolicyContextException
addToUncheckedPolicy in interface javax.security.jacc.PolicyConfigurationpermissions - the collection of permissions to be added
as unchecked policy statements. The collection may be either
a homogenous or heterogenous collection.SecurityException - if called by an AccessControlContext that has not been
granted the "setPolicy" SecurityPermission.UnsupportedOperationException - if the state of the policy context whose interface is this
PolicyConfiguration Object is "deleted" or "inService" when this
method is called.javax.security.jacc.PolicyContextException - if the implementation throws a checked exception that has not been
accounted for by the addToUncheckedPolicy method signature.
The exception thrown
by the implementation class will be encapsulated (during construction)
in the thrown PolicyContextException.public void addToUncheckedPolicy(Permission permission) throws javax.security.jacc.PolicyContextException
addToUncheckedPolicy in interface javax.security.jacc.PolicyConfigurationpermission - the permission to be added
to the unchecked policy statements.SecurityException - if called by an AccessControlContext that has not been
granted the "setPolicy" SecurityPermission.UnsupportedOperationException - if the state of the policy context whose interface is this
PolicyConfiguration Object is "deleted" or "inService" when this
method is called.javax.security.jacc.PolicyContextException - if the implementation throws a checked exception that has not been
accounted for by the addToUncheckedPolicy method signature.
The exception thrown
by the implementation class will be encapsulated (during construction)
in the thrown PolicyContextException.public void addToExcludedPolicy(PermissionCollection permissions) throws javax.security.jacc.PolicyContextException
addToExcludedPolicy in interface javax.security.jacc.PolicyConfigurationpermissions - the collection of permissions to be added
to the excluded policy statements. The collection may be either
a homogenous or heterogenous collection.SecurityException - if called by an AccessControlContext that has not been
granted the "setPolicy" SecurityPermission.UnsupportedOperationException - if the state of the policy context whose interface is this
PolicyConfiguration Object is "deleted" or "inService" when this
method is called.javax.security.jacc.PolicyContextException - if the implementation throws a checked exception that has not been
accounted for by the addToExcludedPolicy method signature.
The exception thrown
by the implementation class will be encapsulated (during construction)
in the thrown PolicyContextException.public void addToExcludedPolicy(Permission permission) throws javax.security.jacc.PolicyContextException
addToExcludedPolicy in interface javax.security.jacc.PolicyConfigurationpermission - the permission to be added
to the excluded policy statements.SecurityException - if called by an AccessControlContext that has not been
granted the "setPolicy" SecurityPermission. faUnsupportedOperationException - if the state of the policy context whose interface is this
PolicyConfiguration Object is "deleted" or "inService" when this
method is called.javax.security.jacc.PolicyContextException - if the implementation throws a checked exception that has not been
accounted for by the addToExcludedPolicy method signature.
The exception thrown
by the implementation class will be encapsulated (during construction)
in the thrown PolicyContextException.public void removeRole(String roleName) throws javax.security.jacc.PolicyContextException
removeRole in interface javax.security.jacc.PolicyConfigurationroleName - the name of the role to remove from this
PolicyConfiguration. If the value of the roleName parameter is "*"
and no role with name "*" exists in this PolicyConfiguration,
then all roles must be removed from this PolicyConfiguration.SecurityException - if called by an AccessControlContext that has not been
granted the "setPolicy" SecurityPermission.UnsupportedOperationException - if the state of the policy context whose interface is this
PolicyConfiguration Object is "deleted" or "inService" when this
method is called.javax.security.jacc.PolicyContextException - if the implementation throws a checked exception that has not been
accounted for by the removeRole method signature. The exception thrown
by the implementation class will be encapsulated (during construction)
in the thrown PolicyContextException.public void removeUncheckedPolicy()
throws javax.security.jacc.PolicyContextException
removeUncheckedPolicy in interface javax.security.jacc.PolicyConfigurationSecurityException - if called by an AccessControlContext that has not been
granted the "setPolicy" SecurityPermission.UnsupportedOperationException - if the state of the policy context whose interface is this
PolicyConfiguration Object is "deleted" or "inService" when this
method is called.javax.security.jacc.PolicyContextException - if the implementation throws a checked exception that has not been
accounted for by the removeUncheckedPolicy method signature.
The exception thrown
by the implementation class will be encapsulated (during construction)
in the thrown PolicyContextException.public void removeExcludedPolicy()
throws javax.security.jacc.PolicyContextException
removeExcludedPolicy in interface javax.security.jacc.PolicyConfigurationSecurityException - if called by an AccessControlContext that has not been
granted the "setPolicy" SecurityPermission.UnsupportedOperationException - if the state of the policy context whose interface is this
PolicyConfiguration Object is "deleted" or "inService" when this
method is called.javax.security.jacc.PolicyContextException - if the implementation throws a checked exception that has not been
accounted for by the removeExcludedPolicy method signature.
The exception thrown
by the implementation class will be encapsulated (during construction)
in the thrown PolicyContextException.public void commit()
throws javax.security.jacc.PolicyContextException
When the state of a policy context is "inService", calling any method other than commit, delete, getContextID, or inService on its PolicyConfiguration Object will cause an UnsupportedOperationException to be thrown.
commit in interface javax.security.jacc.PolicyConfigurationSecurityException - if called by an AccessControlContext that has not been
granted the "setPolicy" SecurityPermission.UnsupportedOperationException - if the state of the policy context whose interface is this
PolicyConfiguration Object is "deleted" when this
method is called.javax.security.jacc.PolicyContextException - if the implementation throws a checked exception that has not been
accounted for by the commit method signature. The exception thrown
by the implementation class will be encapsulated (during construction)
in the thrown PolicyContextException.public void linkConfiguration(javax.security.jacc.PolicyConfiguration link)
throws javax.security.jacc.PolicyContextException
Note that the policy statements which comprise a role, or comprise the excluded or unchecked policy collections in a PolicyConfiguration are unaffected by the configuration being linked to another.
linkConfiguration in interface javax.security.jacc.PolicyConfigurationlink - a reference to a different PolicyConfiguration than this
PolicyConfiguration.
The relationship formed by this method is symetric, transitive and idempotent. If the argument PolicyConfiguration does not have a different Policy context identifier than this PolicyConfiguration no relationship is formed, and an exception, as described below, is thrown.
SecurityException - if called by an AccessControlContext that has not been
granted the "setPolicy" SecurityPermission.UnsupportedOperationException - if the state of the policy context whose interface is this
PolicyConfiguration Object is "deleted" or "inService" when this
method is called.IllegalArgumentException - if called with an argument PolicyConfiguration whose Policy context
is equivalent to that of this PolicyConfiguration.javax.security.jacc.PolicyContextException - if the implementation throws a checked exception that has not been
accounted for by the linkConfiguration method signature. The exception
thrown
by the implementation class will be encapsulated (during construction)
in the thrown PolicyContextException.public void delete()
throws javax.security.jacc.PolicyContextException
This operation has no affect on any linked PolicyConfigurations other than removing any links involving the deleted PolicyConfiguration.
delete in interface javax.security.jacc.PolicyConfigurationSecurityException - if called by an AccessControlContext that has not been
granted the "setPolicy" SecurityPermission.javax.security.jacc.PolicyContextException - if the implementation throws a checked exception that has not been
accounted for by the delete method signature. The exception thrown
by the implementation class will be encapsulated (during construction)
in the thrown PolicyContextException.public boolean inService()
throws javax.security.jacc.PolicyContextException
inService in interface javax.security.jacc.PolicyConfigurationSecurityException - if called by an AccessControlContext that has not been
granted the "setPolicy" SecurityPermission.javax.security.jacc.PolicyContextException - if the implementation throws a checked exception that has not been
accounted for by the inService method signature. The exception thrown
by the implementation class will be encapsulated (during construction)
in the thrown PolicyContextException.protected void checkSetPolicyPermission()
protected Policy getPolicy()
protected Permissions getExcludedPolicy()
protected void refresh(boolean force)
protected void initialize(boolean open,
boolean remove,
boolean fromFile)
Copyright © 2017. All rights reserved.