Proteger mandatos de controlador
Todos los mandatos de controlador requieren una política de control de acceso basada en roles para poder ejecutarse. Un mandato de controlador o de tarea también requiere una política a nivel de recursos si el mandato está realizando la comprobación a nivel de recursos.
Por qué y cuándo se efectúa esta tarea
Para obtener más información, consulte Proteger recursos. El ejemplo siguiente muestra una política basada en roles para los mandatos de controlador:
<Policy Name="SellersExecuteSellersCmdResourceGroup"
OwnerID="RootOrganization"
UserGroup="Sellers"
ActionGroupName="ExecuteCommandActionGroup"
ResourceGroupName="SellersCmdResourceGroup"
PolicyType="groupableStandard">
</Policy>
El nombre de ActionGroupName, ExecuteCommandActionGroup
, indica que se trata de una política basada en roles para mandatos de controlador. La política indica que los usuarios del grupo Sellers
pueden ejecutar los mandatos del grupo de recursos SellersCmdResourceGroup
.
A continuación se muestra un ejemplo de la definición de grupo SellersCmdResourceGroup
:
<ResourceGroup Name="SellersCmdResourceGroup"
OwnerID="RootOrganization">
<ResourceGroupResource
Name="com.ibm.contract.commands.ContractCancelCmdResourceCategory"/>
<ResourceGroupResource
Name="com.ibm.contract.commands.ContractCloseCmdResourceCategory"/>
<ResourceGroupResource
Name="com.ibm.contract.commands.ContractCreateCmdResourceCategory"/>
</ResourceGroup>
El ejemplo anterior muestra los tres recursos siguientes en el grupo de recursos, que corresponden cada uno a un mandato de controlador:
-
com.ibm.contract.commands.ContractCancelCmdResourceCategory
-
com.ibm.contract.commands.ContractCloseCmdResourceCategory
-
com.ibm.contract.commands.ContractCreateCmdResourceCategory
A continuación se muestra una definición de un recurso de ejemplo:
<ResourceCategory
Name="com.ibm.commerce.contract.commands.ContractCloseCmdResourceCategory"
ResourceBeanClass="com.ibm.commerce.contract.commands.ContractCloseCmd">
<ResourceAction Name="ExecuteCommand"/>
</ResourceCategory>
El atributo Name
, com.ibm.commerce.contract.commands.ContractCloseCmdResourceCategory
, se utiliza para hacer referencia a este recurso en el archivo XML. El nombre de ResourceActionName, ExecuteCommand
, se utiliza para especificar las acciones que pueden realizarse en el recurso. Esta información se utiliza en la Consola de administración cuando se utilizan políticas de control de acceso para rellenar el recuadro de selección Acción correspondiente a un recurso determinado. En este caso, se especifica la acción Execute
. La acción Execute
se define del modo siguiente:
<Action Name="ExcecuteCommand CommandName="Execute">
</Action>
ResourceBeanClass
en la definición del recurso. El valor del ResourceBeanClass
se almacena en la columna RESCLASSNAME
de la tabla ACRESCGRY
. Estos mandatos pueden utilizarse como recursos porque amplían la interfaz ControllerCommand
, la cual amplía la interfaz AccCommand
que, a su vez, amplía la interfaz Protectable.