Ajout d'une vue à l'aide d'une nouvelle stratégie
Pour ajouter une vue accessible à un nouveau rôle ne disposant pas d'une stratégie existante basée sur les rôles, créez un fichier XML.
Pourquoi et quand exécuter cette tâche
<?xml version="1.0" encoding="ISO-8859-1" standalone="no" ?>
<!DOCTYPE Policies SYSTEM "../dtd/accesscontrolpolicies.dtd">
<Policies>
<Action Name="MyNewView" CommandName="MyNewView">
</Action>
<ActionGroup Name="XYZViews"
OwnerID="RootOrganization">
<ActionGroupAction Name="MyNewView"/>
</ActionGroup>
<Policy Name="XYZExecuteXYZViews"
OwnerID="RootOrganization"
UserGroup="XYZ"
ActionGroupName="XYZViews"
ResourceGroupName="ViewCommandResourceGroup"
PolicyType="groupableStandard">
</Policy>
<PolicyGroup
Name="ManagementAndAdministrationPolicyGroup"
OwnerID="RootOrganization">
<PolicyGroupPolicy Name="XYZExecuteXYZViews"
PolicyOwnerId="RootOrganization" />
</PolicyGroup>
</Policies>
Procédure
-
Créez une définition d'action dans le fichier XML dont le nom de vue est MyNewView. Vous pouvez indiquer tout nom de votre choix.
<Action Name=" MyNewView CommandName=" MyNewView"> </Action> -
Créez un groupe d'actions à associer au nouveau rôle :
<ActionGroupName=" XYZViews" OwnerID="RootOrganization"> </ActionGroup>Où XYZViews est le nom du groupe d'actions. L'ID OwnerID des groupes d'actions doit toujours être RootOrganization.
-
Associez la nouvelle action au nouveau groupe d'actions :
<ActionGroupName=" XYZViews" OwnerID="RootOrganization"> <ActionGroupAction Name=" MyNewView"/></ActionGroup>Où XYZViews est le groupe d'actions et MyNewView est l'action que vous avez créée.
-
Créez une stratégie qui fait référence au nouveau groupe d'actions :
<Policy Name=" XYZExecuteXYZViews" OwnerID="RootOrganization" UserGroup="XYZ" ActionGroupName=" XYZViews" ResourceGroupName="ViewCommandResourceGroup" PolicyType="groupableStandard"> </Policy>Où XYZExecuteXYZViews est le nom de votre stratégie et XYZViews est le groupe d'actions. Dans HCL Commerce 5.5, en raison du modèle de souscription aux stratégies, l'ID OwnerID pour les stratégies de modèle groupable et standard groupables ne permet pas de déterminer à quelles ressources va être appliquée une stratégie. La valeur OwnerID est actuellement utilisée uniquement par la console d'administration lors de la visualisation de stratégies classées par organisation propriétaire (OwnerID). Si une stratégie doit s'appliquer à plusieurs organisations, il est recommandé de définir la valeur de OwnerID par l'organisation ascendante commune telle que l'organisation racine (RootOrganization). Si une stratégie doit uniquement s'appliquer à une organisation spécifique, il est conseillé de définir OwnerID par l'
orgentity_idde l'organisation. -
Intégrez la nouvelle stratégie dans le groupe de stratégies approprié. Par défaut, la plupart des stratégies basées sur des rôles sont placées dans ManagementAndAdministrationPolicyGroup qui devrait être appliqué à toutes les organisations.
<PolicyGroupName="ManagementAndAdministrationPolicyGroup" OwnerID="RootOrganization"> <PolicyGroupPolicy Name="XYZExecuteXYZViews" PolicyOwnerId="RootOrganization"/> </PolicyGroup>où la valeur de
PolicyOwnerIddoit être identique à celle deOwnerIDutilisée dans la définition de la stratégie. - Chargez vos modifications XML dans la base de données. Pour plus d'informations sur le chargement des modifications XML, voir Chargement des données 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 :
- Connectez-vous à la console d'administration en tant qu'administrateur de site.
- Cliquez sur Configuration > Registre.
- Dans la liste des registres, sélectionnez Stratégies de contrôle d'accès.
- Cliquez sur Mettre à jour.
Résultats
Vous pouvez maintenant utiliser votre vue.