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 MBRGRPNAME de la table MBRGRP.
OwnerID
Member ID du propriétaire du groupe d'accès. La combinaison de Name et OwnerID doit être unique. Les valeurs spéciales qui peuvent être utilisées sont les suivantes : RootOrganization (-2001) ou DefaultOrganization (-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 CONDITIONS de la table MBRGRPCOND.
Condition XML
En utilisant la structure de condition, il s'agit de toute combinaison valide des éléments orListCondition, andListCondition, simpleCondition et trueConditionCondition.
Les noms SimpleCondition suivants sont pris en charge pour l'élément UserCondition :
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.)
  • OrgEntityID : où l'utilisateur doit avoir le rôle. Voir l'exemple Rôle avec qualificateur.
  • OrgAndAncestorOrgs : Moment où il est utilisé dans une stratégie de modèle groupable. Cela permet de vérifier si l'utilisateur dispose du rôle indiqué dans l'organisation à laquelle appartient la ressource ou dans l'une de ses organisations parentes. Voir les exemples :
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. = !=
  • Toute valeur figurant dans la colonne ORGENTITY_ID de la table ORGENTITY.
  • ? : s'il s'agit d'une stratégie de modèle groupable. Cela permet de vérifier si l'utilisateur est un enfant de l'organisation à laquelle appartient la ressource ou de l'une des organisations parentes du propriétaire de la ressource, jusqu'à l'organisation parente la plus proche souscrivant à un ensemble de stratégies incluse.
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>