Protection des instructions de contrôleur
Toutes les instructions de contrôleur requièrent une stratégie de contrôle d'accès basée sur les rôles pour pouvoir être exécutées. Une instruction de contrôleur ou d'activité requiert également une stratégie au niveau de la ressource si l'instruction effectue une vérification au niveau de la ressource.
Pourquoi et quand exécuter cette tâche
Pour plus d'informations, voir la rubrique Protection des ressources. L'exemple suivant affiche une stratégie basée sur les rôles pour des instructions de contrôleur :
<Policy Name="SellersExecuteSellersCmdResourceGroup"
OwnerID="RootOrganization"
UserGroup="Sellers"
ActionGroupName="ExecuteCommandActionGroup"
ResourceGroupName="SellersCmdResourceGroup"
PolicyType="groupableStandard">
</Policy>
Le nom du groupe d'actions, ActionGroupName, ExecuteCommandActionGroup, indique qu'il s'agit d'une stratégie basée sur les rôles pour des instructions de contrôleur. La stratégie stipule que les utilisateurs du groupe d'accès Sellers peuvent exécuter les instructions du groupe de ressources SellersCmdResourceGroup.
Voici un exemple de la définition du groupe de ressources 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>
L'exemple précédent montre que chacune des trois ressources suivantes du groupe de ressources correspond à une instruction de contrôleur :
-
com.ibm.contract.commands.ContractCancelCmdResourceCategory -
com.ibm.contract.commands.ContractCloseCmdResourceCategory -
com.ibm.contract.commands.ContractCreateCmdResourceCategory
Voici un exemple de définition d'une ressource :
<ResourceCategory
Name="com.ibm.commerce.contract.commands.ContractCloseCmdResourceCategory"
ResourceBeanClass="com.ibm.commerce.contract.commands.ContractCloseCmd">
<ResourceAction Name="ExecuteCommand"/>
</ResourceCategory>
L'attribut Name, com.ibm.commerce.contract.commands.ContractCloseCmdResourceCategory est utilisé sous forme de balise pour faire référence à la ressource dans le fichier XML. L'attribut ResourceAction Name, ExecuteCommand, est utilisé pour spécifier les actions pouvant être exécutées sur la ressource. Ces informations sont utilisées sur la console d'administration, lors de l'utilisation de stratégies de contrôle d'accès, pour alimenter la boîte de sélection Action correspondant à une ressource donnée. Dans ce cas, l'action Execute est spécifiée. L'action Execute est définie dans les éléments suivants :
<Action Name="ExcecuteCommand CommandName="Execute">
</Action>
ResourceBeanClass dans la définition de la ressource. La valeur de la classe ResourceBeanClass est stockée dans la colonne RESCLASSNAME de la table ACRESCGRY. Ces instructions peuvent être utilisées comme ressources, car elles sont une extension de l'interface ControllerCommand, elle-même extension de l'interface AccCommand, qui est à son tour une extension de l'interface Protectable.