| Oracle9iAS Containers for J2EE Services Guide Release 2 (9.0.3) Part Number A97690-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 A-1 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 provides 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 A-2 lists all the system-defined RealmPermission action names.
|
|
![]() Copyright © 1996, 2002 Oracle Corporation. All Rights Reserved. |
|