|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.security.auth.Policy
org.systinet.security.policy.UpdateablePolicy
This is an abstract class for representing the updateable policy for Subject-based authorization. A subclass implementation of this class provides a means to specify a Subject-based updateable access control Policy. This class extends JAAS policy to enrich it with updateable behaviour. It is especially designed for use with WASP.
Field Summary | |
static java.lang.String |
WASP_POLICY_CHECKER
key for policy checker (can be put into intialization map) |
static java.lang.String |
WASP_POLICY_IMPL
key for policy implementation (can be put into intialization map) |
Constructor Summary | |
UpdateablePolicy(java.util.Map map)
Constructor for invocation by subclass constructors. |
Method Summary | |
abstract boolean |
addPermission(java.security.CodeSource cs,
java.security.Principal principal,
java.security.Permission permission)
Adds a single permission to specified principal. |
abstract void |
addPermissions(java.security.CodeSource cs,
java.security.Principal principal,
java.security.PermissionCollection collection)
Adds collection of permissions to specified principal. |
abstract boolean |
addPermissionToRole(java.lang.String roleName,
java.security.Permission permission)
Adds permission to role. |
boolean |
createRole(java.lang.String roleName)
Creates empty role. |
boolean |
deleteRole(java.lang.String roleName)
Deletes role. |
void |
destroy()
Releases allocated resources during Wasp destroy. |
abstract java.security.PermissionCollection |
getPermissions(javax.security.auth.Subject subject,
java.security.CodeSource codesource)
Retrieve the Permissions granted to the Principals associated with the specified CodeSource, always returns a collection containg AllPermissons . |
abstract PrincipalEntries |
getPrincipalEntries()
Returns enumeration of all principal entries. |
abstract PrincipalEntries |
getPrincipalEntries(java.security.Permission perm)
Returns enumeration of principal entries that are granted with specified atomic permission. |
abstract java.security.PermissionCollection |
getPrincipalPermissions(java.security.CodeSource cs,
java.security.Principal principal)
Returns permissions associated with the principal, also with permissions inheritted from roles. |
abstract java.security.PermissionCollection |
getPrincipalPermissions(java.security.CodeSource cs,
java.security.Principal principal,
boolean roleInheritted)
Returns permissions associated with the principal, optionally without permissions inheritted from roles. |
abstract java.util.Iterator |
getRoleNames()
Returns iterator of role names. |
abstract java.security.PermissionCollection |
getRolePermissions(java.lang.String roleName)
Get permissions owned by role. |
static UpdateablePolicy |
getUpdateablePolicy()
Returns the installed UpdateablePolicy instance. |
static UpdateablePolicy |
initSingleton(java.util.Map configurationParameters)
Initializes singleton using given parameters. |
abstract boolean |
isRoleManager()
It tests, whether this policy can manage roles or not. |
abstract boolean |
isUpdatable()
It tests, whether this policy is really updateable or read-only. |
abstract void |
refresh()
Refresh and reload the Policy. |
abstract boolean |
removePermission(java.security.CodeSource cs,
java.security.Principal principal,
java.security.Permission permission)
Removes permission from specified principal. |
abstract boolean |
removePermissionFromRole(java.lang.String roleName,
java.security.Permission permission)
Removes permission from role. |
static void |
setUpdateablePolicy(UpdateablePolicy policy)
Sets the current UpdateablePolicy. |
Methods inherited from class javax.security.auth.Policy |
getPolicy, setPolicy |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final java.lang.String WASP_POLICY_IMPL
public static final java.lang.String WASP_POLICY_CHECKER
Constructor Detail |
public UpdateablePolicy(java.util.Map map)
map
- configuration parametersMethod Detail |
public static UpdateablePolicy getUpdateablePolicy()
initSingleton
method. By default, no access control checking
is performed. If the singleton has not been set explicitelly
through the initSingleton
method, then it initialized with System properties.
isUpdateable
methodpublic static final UpdateablePolicy initSingleton(java.util.Map configurationParameters) throws java.lang.SecurityException
configurationParameters
- a Map of configuration parameters,
it must contain the following parameter:
wasp.policy.impl
- refers to full class name of the implementation classwasp.policy.checker
- if it is set to (String)"java" Java
access controller is used to control get/set policy methods; if it
is set to (String)"wasp" WASPAccessController with subject obtained from
received credentials is used, otherwise no access control check is neccessary.
java.lang.SecurityException
- singleton is already set, or
singleton cannot be initializedpublic static void setUpdateablePolicy(UpdateablePolicy policy)
policy
- updateable policy instance to setpublic abstract boolean isUpdatable()
false
if it is read-only, true
if it
is updatable (principal oriented methods are fully supported)public abstract boolean isRoleManager()
false
if it cannot manage roles, true
if it
can (role oriented methods are fully supported)public abstract void refresh()
public abstract java.security.PermissionCollection getPermissions(javax.security.auth.Subject subject, java.security.CodeSource codesource)
subject
- the Subject whose associated Principals, in conjunction with the provided CodeSource, determines the Permissions returned by this method. This parameter may be null.codesource
- the code specified by its CodeSource that determines, in conjunction with the provided Subject, the Permissions returned by this method. This parameter may be null.
public abstract void addPermissions(java.security.CodeSource cs, java.security.Principal principal, java.security.PermissionCollection collection) throws java.security.AccessControlException
cs
- codesource for thisprincipal
- principal
permission (can be null
)collection
- valid collection of permission
to be added to a principal
java.security.AccessControlException
- access control rules disallows to perform requested operationpublic abstract boolean addPermission(java.security.CodeSource cs, java.security.Principal principal, java.security.Permission permission) throws java.security.AccessControlException
cs
- codesource for this
permission (can be null
)principal
- principalpermission
- valid permission to add
true
if the
permission was added, false
if it cannot be added,
because the principal already owns the permission.
java.security.AccessControlException
- access control rules disallows to perform requested operationpublic abstract boolean removePermission(java.security.CodeSource cs, java.security.Principal principal, java.security.Permission permission) throws java.security.AccessControlException
cs
- codesource for this
permission (can be null
)principal
- principalpermission
- the permission has to
match exactly (tested through equals method) to one of the
permissions already assigned to the principal.
true
if the
permission was removed, false
if it cannot be removed,
because the principal does not own the permission.
java.security.AccessControlException
- access control rules disallows to perform requested operationpublic abstract java.security.PermissionCollection getPrincipalPermissions(java.security.CodeSource cs, java.security.Principal principal) throws java.security.AccessControlException
cs
- codesource for this
permission (can be null
)principal
- principal (can be null
)
java.security.AccessControlException
- access control rules disallows to perform requested operationpublic abstract java.security.PermissionCollection getPrincipalPermissions(java.security.CodeSource cs, java.security.Principal principal, boolean roleInheritted) throws java.security.AccessControlException
cs
- codesource for this
permission (can be null
)principal
- principal (can be null
)roleInheritted
- true
means that the returned permissions also contain permissions inheritted
principal's roles
java.security.AccessControlException
- access control rules disallows to perform requested operationpublic abstract PrincipalEntries getPrincipalEntries() throws java.security.AccessControlException
java.security.AccessControlException
- access control rules disallows to perform requested operationpublic abstract PrincipalEntries getPrincipalEntries(java.security.Permission perm) throws java.security.AccessControlException
perm
- permission act as filter for the constructed result
java.security.AccessControlException
- access control rules disallows to perform requested operationpublic abstract java.util.Iterator getRoleNames()
public abstract boolean addPermissionToRole(java.lang.String roleName, java.security.Permission permission) throws java.security.AccessControlException
roleName
- role namepermission
- permission to add,
can be null
to cteate empty role entry
true
if the permission was added, false
if it cannot be
added
java.security.AccessControlException
- the caller is not authorized to invoke this methodpublic boolean createRole(java.lang.String roleName) throws java.security.AccessControlException
roleName
- role name
true
if the role was added, false
if it cannot be
added
java.security.AccessControlException
- the caller is not authorized to invoke this methodpublic abstract boolean removePermissionFromRole(java.lang.String roleName, java.security.Permission permission) throws java.security.AccessControlException
roleName
- role namepermission
- permission to remove (can be null to remove the role)
, the permission has to
match exactly (tested through equals method) to one of the
permissions already assigned to the role.
true
,
if the permission was removed; false
if it cannot be
added
java.security.AccessControlException
- the caller is not authorized to invoke this methodpublic boolean deleteRole(java.lang.String roleName) throws java.security.AccessControlException
roleName
- role name
true
,
if the role was removed; false
if it cannot be
removed
java.security.AccessControlException
- the caller is not authorized to invoke this methodpublic abstract java.security.PermissionCollection getRolePermissions(java.lang.String roleName) throws java.security.AccessControlException
roleName
- role name
java.security.AccessControlException
- the caller is not authorized to invoke this methodpublic void destroy()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |