The PermissionManager
is used by the RdbmsPolicy
to get the permissions for
a given user principals as presented
in the Jetspeed JAAS Policy section of the documentation.
The PermissionManager
manages the association between permissions and principals. Each permission
or principal maps to a generic object model and reflexion is used to instantiate the proper permission or
principal type. The class diagram below represents the interfaces representing a generic permission
(InternalPermission
) and a generic principal (InternalPrincipal
) and their relation
to the PermissionManager
.
Each InternalPermission
maps to one or more InternalPrincipal
and, each
InternalPrincipal
can have one or more InternalPermission
.
The OJB mappings for the security component are described in security_repository.xml
:
InternalPrincipal
: Maps to the SECURITY_PRINCIPAL
table.InternalPermission
: Maps to the SECURITY_PERMISSION
table.InternalPrincipal
and InternalPermission
are
maintained through the indirection table PRINCIPAL_PERMISSION
.<class-descriptor class="org.apache.jetspeed.security.om.impl.InternalPrincipalImpl" proxy="dynamic" table="SECURITY_PRINCIPAL" >...</class-descriptor> <class-descriptor class="org.apache.jetspeed.security.om.impl.InternalPermissionImpl" proxy="dynamic" table="SECURITY_PERMISSION" >...</class-descriptor>
The relational schema maintaining principal to permission associations is provided below: