public class SimplePolicyConfiguration 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 |
Modifier | Constructor and Description |
---|---|
protected |
SimplePolicyConfiguration(String contextID)
Creates a new instance of SimplePolicyConfiguration
|
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 static 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.
|
static PermissionCollection |
getPermissions(PermissionCollection basePerms,
CodeSource codesource)
Evaluates the global policy and returns a PermissionCollection object specifying the set of permissions allowed for
code from the specified code source.
|
static PermissionCollection |
getPermissions(PermissionCollection basePerms,
ProtectionDomain domain)
Evaluates the policy and returns a PermissionCollection object specifying the set of permissions allowed given the
characteristics of the protection domain.
|
protected static SimplePolicyConfiguration |
getPolicyConfig(String pcid,
boolean remove) |
static int |
implies(ProtectionDomain domain,
Permission p)
Evaluates the policy to determine whether the permissions is granted to the ProtectionDomain.
|
boolean |
inService()
This method is used to determine if the policy context whose interface is this PolicyConfiguration Object is in the
"inService" state.
|
protected static boolean |
inService(String pcid) |
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.
|
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 SimplePolicyConfiguration(String contextID)
public String getContextID() throws javax.security.jacc.PolicyContextException
getContextID
in interface javax.security.jacc.PolicyConfiguration
SecurityException
- 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.PolicyConfiguration
roleName
- 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.PolicyConfiguration
roleName
- 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.PolicyConfiguration
permissions
- 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.PolicyConfiguration
permission
- 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.PolicyConfiguration
permissions
- 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.PolicyConfiguration
permission
- the permission to be added to the excluded 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
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.PolicyConfiguration
roleName
- the name of the Role to remove 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.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
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.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
removeExcludedPolicy 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.PolicyConfiguration
link
- 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.PolicyConfiguration
SecurityException
- 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 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.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" 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 boolean inService() throws javax.security.jacc.PolicyContextException
inService
in interface javax.security.jacc.PolicyConfiguration
SecurityException
- 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 static SimplePolicyConfiguration getPolicyConfig(String pcid, boolean remove) throws javax.security.jacc.PolicyContextException
javax.security.jacc.PolicyContextException
protected static boolean inService(String pcid) throws javax.security.jacc.PolicyContextException
javax.security.jacc.PolicyContextException
protected static void checkSetPolicyPermission()
public static PermissionCollection getPermissions(PermissionCollection basePerms, CodeSource codesource) throws javax.security.jacc.PolicyContextException
codeSource
- the CodeSource associated with the caller. This encapsulates the original location of the code (where the
code came from) and the public key(s) of its signer.javax.security.jacc.PolicyContextException
public static PermissionCollection getPermissions(PermissionCollection basePerms, ProtectionDomain domain) throws javax.security.jacc.PolicyContextException
domain
- the ProtectionDomain associated with the caller.javax.security.jacc.PolicyContextException
ProtectionDomain
,
SecureClassLoader
public static int implies(ProtectionDomain domain, Permission p) throws javax.security.jacc.PolicyContextException
domain
- the ProtectionDomain to testpermission
- the Permission object to be tested for implication.javax.security.jacc.PolicyContextException
Copyright © 2021. All rights reserved.