Secure > Authorization > Customize default access control policies > Define access control policy elements using XML


Protect data beans

Data beans contain information about business objects and are used to display object information about a Web page. Dynamic Web pages are usually mapped to views within WebSphere Commerce, and these views are protected by role-based policies. It is sometimes necessary to further protect the content of the Web page by protecting its data beans, if they exist.

When data beans are populated using the DataBeanManager.activate(..) method, the data bean managers enforce access control on them. Data beans can be protected directly or indirectly, using the Delegator interface. Directly protected data beans also implement the com.ibm.commerce.security.Protectable interface. If an indirectly protected data bean does not implement the Delegator interface, or returns a null value for the getDelegate() method, it is not protected and can be displayed by anyone.

The following is an example of a resource-level policy for a data bean:

<Policy Name="AllUsersDisplayOrderDataBeanResourceGroup"
        OwnerID="RootOrganization"
        UserGroup="AllUsers"
        ActionGroupName="DisplayDatabeanActionGroup"
        ResourceGroupName="OrderDataBeanResourceGroup"
        RelationName="creator"
        PolicyType="groupableStandard">
</Policy>

The ActionGroupName, DisplayDatabeanActionGroup, indicates that this policy is a policy for data beans. This action group includes one Display action.

Where:

Name

The name of this policy.

UserGroup

The access group that contains the users to whom the policy applies. In this case, it includes all users.

ActionGroupName

The value DisplayDatabeanActionGroup indicates that it is a resource-level policy for data beans.

ResourceGroupName

The name of the resource group that contains the data beans to be protected.

RelationName

The relationship that must be fulfilled between a user and the resource. In this case, the user must be the creator of the business Order resource.

The OrderDataBeanResourceGroup is defined...

<ResourceGroup Name="OrderDataBeanResourceGroup"
OwnerID="RootOrganization">        
<ResourceGroupResource
Name="com.ibm.commerce.order.beans.OrderListDataBeanResourceCategory"/>        
<ResourceGroupResource
Name="com.ibm.commerce.order.beans.OrderDataBeanResourceCategory"/>
</ResourceGroup>

The OrderDataBeanResourceGroup consists of two resources. The following is a sample resource definition for a data bean:

<ResourceCategory
Name="com.ibm.commerce.order.beans.OrderDataBeanResourceCategory"
ResourceBeanClass="com.ibm.commerce.order.beans.OrderDataBean">        
<ResourceAction Name="DisplayDataBean"/>
</ResourceCategory>

Where:

Name

A tag used to refer to this resource in the XML file.

ResourceBeanClass

The class name of the data bean that is being directly protected. This class must implement the com.ibm.commerce.security.Protectable interface.

ResourceAction

An element needed for policy editing in the Administration Console. In this case, this element indicates that Display is the valid action to be performed on this resource.


+

Search Tips   |   Advanced Search