Définition de groupes d'accès
Un groupe d'accès est un élément obligatoire dans une définition de stratégie. Il permet de définir les utilisateurs habilités à agir sur des ressources spécifiées. Vous aurez à définir un nouveau groupe d'accès dans de nombreux cas.
Les exemples les plus courants sont les suivants :
- Vous créez un rôle et devez donc créer une stratégie afin d'octroyer des droits d'accès au nouveau rôle.
- Vous créez des instructions de contrôleur et souhaitez affecter des rôles spécifiques à des utilisateurs afin qu'ils puissent accéder à ces instructions.
Les groupes d'accès par défaut qui font partie de HCL Commerce se trouvent dans des fichiers XML spécifiques de la langue, tels que utilities_root/xml/policies/xml/ACUserGroups_ locale.xml. Ce fichier suit le DTD spécifié par utilities_root/xml/policies/dtd/ACUserGroups_en_US.dtd.
Le format d'un élément de groupe d'accès est illustré ci-après.
<UserGroup Name="value" OwnerID="value" Description="value"
<UserCondition>
<![CDATA[
<profile>
Condition XML
</profile>
</UserCondition>
</UserGroup>
où :
-
Name - Nom du groupe d'accès stocké dans la colonne
MBRGRPNAMEde la tableMBRGRP. -
OwnerID Member IDdu propriétaire du groupe d'accès. La combinaison deNameetOwnerIDdoit être unique. Les valeurs spéciales qui peuvent être utilisées sont les suivantes :RootOrganization (-2001)ouDefaultOrganization (-2000).-
Description (optional) - Attribut facultatif utilisé pour décrire le groupe d'accès.
-
UserCondition (optional) - Elément facultatif indiquant des conditions implicites d'appartenance à ce groupe d'accès. Ce critère est stocké dans la colonne
CONDITIONSde la tableMBRGRPCOND. -
Condition XML - En utilisant la structure de condition, il s'agit de toute combinaison valide des éléments
orListCondition,andListCondition,simpleConditionettrueConditionCondition.
| Nom de variable | Description | Opérateurs pris en charge | Valeurs prises en charge | Qualificateurs | Valeurs du qualificateur |
|---|---|---|---|---|---|
| rôle | Indique que ce rôle doit être affecté à l'utilisateur dans la table MBRROLE. | = != |
Toute valeur de la colonne NAME dans la table ROLE. | org (S'il n'est pas indiqué, l'utilisateur doit disposer du rôle pour toute organisation figurant dans la table MBRROLE.) |
|
| statut d'enregistrement | Indique que l'utilisateur doit disposer de ce statut d'enregistrement. | = != |
Toute valeur figurant dans la colonne REGISTER-TYPE de la table USERS, telle que G pour visiteur et R pour enregistré. |
aucun | n/a |
| status | Indique que l'utilisateur doit disposer de cet état de membre. Il est généralement utilisé pour le statut de l'approbation d'enregistrement. | = != |
Toute valeur figurant dans la colonne STATE de la table MEMBER, telle que 0 pour un enregistrement en attente d'approbation, 1 pour un enregistrement approuvé et 2 pour un enregistrement rejeté. |
néant | n/a |
| org | Indique de l'utilisateur est un enfant de l'organisation spécifiée. Ces informations se basent sur les données stockées dans la table MBRREL. | = != |
|
aucun | n/a |
Exemples de simpleConditions pour des groupes d'accès
Rôle sans qualificateur
L'exemple suivant affiche une simpleCondition role sans qualificateur ; elles sont généralement utilisées dans des stratégies basées sur des rôles. Dans cet exemple, l'utilisateur doit avoir un rôle d'administrateur vendeur pour une entité organisationnelle.
<UserConditon>
<![CDATA[
<profile>
<simpleCondition>
<variable name="role"/>
<operator name="="/>
<value data="Seller Administrator"/>
</simpleCondition>
</profile>
</UserCondition>
Rôle avec qualificateur
L'exemple suivant affiche une simpleCondition role avec un qualificateur ; elles sont généralement utilisées dans des stratégies au niveau de l'organisation. Dans cet exemple, l'utilisateur doit avoir un rôle de vendeur pour l'entité organisationnelle associée à ORGENTITY_ID = 100.
<UserCondition>
<!CDATA[
<profile>
<simpleCondition>
<variable name="role"/>
<operator name="="/>
<value data="Seller"/>
<qualifier name="org"
data="100"/>
<simpleCondition>
</profile>
</UserCondition>
Rôle avec qualificateur et paramètre
L'exemple suivant affiche une simpleCondition role avec un qualificateur et la valeur de données spéciale OrgAndAncestorOrgs. Cette valeur de données qualifiée, OrgAndAncestorOrgs, fonctionne uniquement dans des stratégies de modèles groupables. Dans cet exemple, l'utilisateur doit posséder le rôle de responsable des ventes, de gestionnaire de comptes ou de vendeur dans l'organisation à laquelle appartient la ressource, ou dans l'une de ses organisations parentes.
<UserCondition><!CDATA[
<profile>
<orListCondition>
<simpleCondition>
<variable name="role"/>
<operator name="="/>
<value data="Sales Manager"/>
<qualifier name="org" data="OrgAndAncestorOrgs"/>
</simpleCondition>
<simpleCondition>
<variable name="role"/>
<operator name="="/>
<value data="Account Representative"/>
<qualifier name="org" data="OrgAndAncestorOrgs"/>
</simpleCondition>
<simpleCondition>
<variable name="role"/>
<operator name="="/>
<value data="Seller"/>
<qualifier name="org" data="OrgAndAncestorOrgs"/>
</simpleCondition>
</orListCondition>
</profile/>
</UserCondition>
registrationStatus
L'exemple suivant affiche une simpleCondition registrationStatus. Dans cet exemple, l'utilisateur doit être enregistré (USERS.REGISTERTYPE = R).
<UserCondition><!CDATA[
<profile>
<simpleCondition>
<variable name="registrationStatus"/>
<operator name="="/>
<value data="R"/>
</simpleCondition>
</profile>
</UserCondition>
status
L'exemple suivant affiche une simpleCondition status. Dans cet exemple, l'enregistrement de l'utilisateur doit avoir été approuvé. (MEMBER.STATUS = 1)
<UserCondition><![CDATA[
<profile>
<simpleCondition>
<variable name="status"/>
<operator name="="/>
<value data="1"/>
</simpleCondition>
</profile>
</UserCondition>
org
L'exemple suivant affiche une simpleCondition org. Dans cet exemple, l'utilisateur doit être enregistré dans l'entité organisationnelle 100. La table MBRREL doit contenir un enregistrement dans lequel l'utilisateur est un enfant d'une organisation où ANCESTOR_ID = 100 et SEQUENCE = 1.
<UserCondition><![CDATA[
<profile>
<simpleCondition>
<variable name="org"/>
<operator name="="/>
<value data="100"/>
</simpleCondition>
</profile>
</UserCondition>