An authorization architecture for authorizing access to resource objects
in an object-oriented programming environment. In one distributed
environment, the permission model of JAAS (Java Authentication and
Authorization Service) is replaced or enhanced with role-based access
control. Thus, users and other subjects (e.g., pieces of code) are
assigned membership in one or more roles, and appropriate permissions or
privileges to access resource objects are granted to those roles.
Permissions may also be granted directly to users. Roles may be designed
to group users having similar functions, duties or similar requirements
for accessing the resources. Roles may be arranged hierarchically, so
that users explicitly assigned to one role may indirectly be assigned to
one or more other roles (i.e., descendants of the first role). A realm or
domain may be defined as a namespace, in which one or more role
hierarchies are established.