Modification du contrôle d'accès au niveau de la ressource d'une stratégie existante
Les instructions requérant un contrôle d'accès au niveau de la ressource renvoient les ressources protégées auxquelles elles vont accéder dans la méthode d'instruction getResources(). Cela déclenche une vérification du contrôle d'accès au niveau des ressources par la structure de contrôle d'accès HCL Commerce. HCL Commerce va rechercher, dans le système, une stratégie de contrôle d'accès dotée d'un groupe d'actions contenant l'action équivalant à l'instruction en cours, dans cet exemple com.ibm.commerce.usermanagement.commands.UserRegistrationAdminAddCmd. Le groupe de ressources de la stratégie doit également inclure la ressource renvoyée dans la méthode getResources() method. Dans ce cas, l'instruction UserRegistrationAdminAddCmd met en œuvre la méthode getResources() et renvoie l'organisation auprès de laquelle le nouvel utilisateur va être enregistré.
Pourquoi et quand exécuter cette tâche
defaultAccessControlPolicies.xml, com.ibm.commerce.usermanagement.commands.UserRegistrationAdminAddCmd est déjà défini comme une action : <Action
Name="com.ibm.commerce.usermanagement.commands.UserRegistrationAdminAddCmd"
CommandName="com.ibm.commerce.usermanagement.commands.UserRegistrationAdminAddCmd">
</Action>
Elle est également incluse dans un groupe d'actions, défini dans le fichier XML defaultAccessControlPolicies.xml :
<ActionGroup Name="UserAdminRegistration"
OwnerID="RootOrganization">
<ActionGroupAction
Name="com.ibm.commerce.usermanagement.commands.UserRegistrationAdminAddCmd"/>
</ActionGroup>
Ce groupe d'actions est déjà utilisé dans une stratégie d'amorçage existante avec les valeurs suivantes :- UserGroup
MembershipAdministratorsForOrg- ActionGroupName
UserAdminRegistration- ResourceGroupName
OrganizationDataResourceGroup
Procédure
-
Ajoutez le rôle requis au groupe d'accès utilisé par la stratégie. Dans cet exemple,
MembershipAdministratorsForOrg.Ce groupe d'accès est défini dans WCDE_installdir/xml/policies/xml/ACUserGroups_en_US.xml comme suit :
<UserGroup Name="MembershipAdministratorsForOrg" OwnerID="RootOrganization" Description="Administrators of membership for the organization" MemberGroupID="-97"> <UserCondition><![ CDATA [ <profile> <orListCondition> <simpleCondition><variable name="role"/> <operator name="="/> <value data="Buyer Administrator"/> <qualifier name="org" data="OrgAndAncestorOrgs"/></simpleCondition> <simpleCondition><variable name="role"/> <operator name="="/> <value data="Seller Administrator"/> <qualifier name="org" data="OrgAndAncestorOrgs"/></simpleCondition> </orListCondition> </profile> </UserCondition> </UserGroup>Dans l'exemple XML précédent, les utilisateurs inclus ont au moins l'un des rôles spécifiés, Administrateur acheteur ou Administrateur vendeur pour une organisation ascendante du propriétaire de la ressource (organization) renvoyée par
getResources(). Pour y ajouter le rôle Responsable marketing, vous devez également inclure le nouveau rôle. -
Copiez le fichier XML dans le répertoire WCDE_installdir/xml/policies/xml/. Votre fichier XML peut être similaire au fichier ci-après :
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE UserGroups SYSTEM "../dtd/ACUserGroups_en_US.dtd"> <UserGroups> <UserGroup Name="MembershipAdministratorsForOrg" OwnerID="RootOrganization" Description="Administrators of membership for the organization" MemberGroupID="-97"> <UserCondition><![CDATA[ <profile> <orListConditio> <simpleCondition> <variable name="role"/> <operator name="="/> <value data="Buyer Administrator"/> <qualifier name="org" data="OrgAndAncestorOrgs"/> </simpleCondition> <simpleCondition> <variable name="role"/> <operator name="="/> <value data="Seller Administrator"/> <qualifier name="org" data="OrgAndAncestorOrgs"/> </simpleCondition> <simpleCondition><variable name="role"/> <operator name="="/> <value data="Marketing Manager"/> <qualifier name="org" data="OrgAndAncestorOrgs"/></simpleCondition> </orListCondition> </profile> </UserCondition> </UserGroup> </UserGroups> -
Chargez le fichier XML dans la base de données à l'aide du script
acpload. Pour plus d'informations sur le chargement des fichiers XML, voir Chargement de fichiers XML de stratégie de contrôle d'accès. -
Mettez à jour le registre des stratégies de contrôle d'accès dans la console d'administration en procédant comme suit :
- Ouvrez la Console d'administration.
- Cliquez sur . Une liste de composants du registre s'affiche.
-
Dans la liste des registres, sélectionnez
Access Control Policies. -
Cliquez sur
Update.