Oracle9iAS Containers for J2EE Services Guide Release 2 (9.0.2) Part Number A95879-01 |
|
This appendix describes the JAAS Provider public packages.
This appendix contains these topics:
This appendix provide brief descriptions of the JAAS Provider APIs. For detailed information on these APIs, see the JAAS Provider Javadoc available in the OC4J section of the Oracle9i Application Server Documentation Library.
Package oracle.security.jazn provides the classes and interfaces for Oracle's authorization/policy provider for the Java Authentication and Authorization Service (JAAS).
Besides providing a full implementation of javax.security.auth.Policy
, the JAAS provider enhances JAAS in the following ways:
Persistable
defines the basic behavior for a persistable object.
JAZNConfig
provides a starting point for obtaining JAAS Provider-related objects and a centralized place for managing JAAS Provider properties
JAZNConfig
enables you to run multiple JAAS provider instances. You can deploy several different applications using JAAS provider in the same Java virtual machine (JVM), each with different configurations. For example, you can have one application using JAAS provider with LDAP-based Oracle Internet Directory as the provider type and another application using JAAS provider with XML-Based Provider Type as the provider type in the same JVM.
JAZNContext
provides a starting point for obtaining JAAS Provider-related objects and a centralized place for managing the JAAS provider properties. JAZNContext
is essentially a single-instance version of JAZNConfig
.
JAZNPermission
is for authorization permissions. A JAZNPermission
contains a name (also referred to as a target name), but no actions list; you either have the named permission or you do not.
The target name is the name of the JAAS provider permission.
Table 15-2 lists the possible target names for a JAZNPermission
, describes what the permission allows, and describes the risks of granting the permission.
JAZNWebAppConfig
represents a <jazn-web-app>
Configuration instance.
JAZNConfigException
represents an authorization exception.
JAZNException
represents an authorization exception.
JAZNInitException
is thrown when an initialization error occurs.
JAZNNamingException
is used to wrap a javax.naming.NamingException
.
JAZNObjectExistsException
is thrown when an attempt is made to create an object that already exists.
JAZNObjectNotFoundException
is thrown when an attempt is made to access an object that does not already exist.
JAZNRuntimeException
represents an authorization exception.
Package oracle.security.jazn.login
p
rovides the classes and interfaces for administering Login Modules.
LoginModuleManager
extends javax.security.auth.login. Configuration
by defining management methods (add/remove AppConfigurationEntry)
.
Package oracle.security.jazn.policy
provides the classes and interfaces for administering the authorization policy.
GlobalPolicy
represents the Global JAAS Provider Policy.
JAZNPolicy
represents the repository of authorization policies. More specifically, JAZNPolicy
deals with the assignment of permissions or privileges to grantees (these can be users or roles or any valid grantee).
In order for a grant or revocation to succeed, the grantor or revoker (represented by the current subject) must have the relevant permissions granted to them.
In general, the methods that return a list or set represent a snapshot of a JAZNPolicy
provider at the time of the query. If the JAAS provider is further modified, the returned set of permissions and roles may no longer be valid.
In general, JAZNPolicy
implementation should cache the policy information, so that repeated calls using the same parameters do not result in repeated network round trips to the backing store.
JAZNPolicy
also defines methods that change the persistent state of the JAAS Provider type (for example, grant or revoke xx
methods). The implementation must ensure that whenever a grant or revoke is attempted, the relevant cache entries are invalidated.
The PermissionClassManager
is an utility to help manage permission classes.
PermissionClassManager
represents the repository of all registered Permission classes. Registering a permission class allows access to stored metadata that provides specific information about a given permission's target, action, and/or description. Failure to register a given permission class will not affect JAAS provider's ability to use the permission class. That is, JAAS does not limit permission grants or revocations to those classes registered with the PermissionClassManager
.
PolicyManager
defines basic methods for managing JAAS Provider policies.
The PrincipalClassManager
is an utility to help manage principal classes.
PrincipalClassManager
represents the repository of all registered Principal classes. Registering a principal class allows access to stored metadata that provides specific information about a given principal's name and description. Failure to register a given principal class will not affect the JAAS provider's ability to use the principal class. That is, the JAAS provider recognizes all principal classes whether or not they have been registered with the PrincipalClassManager
.
RealmPolicy
is a Realm-specific Policy.
AdminPermission
represents the right to administer a permission. Given a Permission p
, the grantee of AdminPermission(p)
is granted the right to:
For example:
p = java.io.FilePermission("/home/frank/-","read,write");
If grantee frank
is granted AdminPermission(p)
, then frank
is granted the following rights:
p'
(that is, read and write privileges for any file in the file system under /home/frank
) to and from other grantees
AdminPermission(p')
Consider the following information:
AdminPermission
embedding another AdminPermission
is not supported. There is no need to do so, since granting a grantee AdminPermission(p)
implies that the grantee can further grant/revoke AdminPermission(p')
AdminPermission(p)
does not imply granting the grantee. That must be granted separately.
Grantee
represents a grantee in a policy entry.
PermissionClassDesc
defines the descriptor (metadata) for a Permission class.
PrincipalClassDesc
defines the descriptor (metadata) of a Principal class.
The grantee of RoleAdminPermission
is granted the right to further grant or revoke the target role.
Package oracle.security.jazn.realm
provides the classes and interfaces for the realm framework.
InitRealmInfo.RealmType
defines the different realm types supported by JAAS Provider.
Realm
provides access to a store of roles and users. The JAAS provider separates role management from user management by providing each realm instance with its own UserManager
for user management and RoleManager
for role management.
Realm
defines methods for managing realm's metadata (properties) and getting its UserManager
and RoleManager
.
Realm.LDAPProperty
defines the LDAP properties applicable for creating a realm (user manager and role manager) using an LDAP directory as a backing store.
RealmPrincipal
extends from java.security.Principal
. It is a principal associated with a realm instance.
RealmRole
is a role associated with a realm. It can be associated with a group of privileges or roles.
RealmUser
is a user associated with a realm. This is an empty interface for tagging objects as being RealmUser
objects. It differs from RealmRole
in that it cannot contain other roles.
RoleManager
defines the APIs for managing roles in a realm.
UserManager
defines the APIs for managing users in a realm.
InitRealmInfo
is a placeholder for specifying realm properties when creating a new realm.
RealmLoginModule
is a realm-based login module.
RealmManager
manages realms.
RealmPermission
is defined to represent permissions for a realm. It extends from java.security.Permission
, and is used like any regular Java permission. RealmPermission
consists of the name of the realm (also known as permission target name) and a set of actions specifying privileges applicable to that realm. The target name of a RealmPermission
instance is the name of the realm in question. The individual action name is specific to the realm in question and is system-defined.
Table 15-3 lists all the system-defined RealmPermission
action names.
|
Copyright © 2002 Oracle Corporation. All Rights Reserved. |
|