Contrôle d'accès à la gestion des versions de contenu
Les services des versions de contenu agissent sur tous les noms activés pour la gestion des versions. Les stratégies de contrôle d'accès sont activées pour limiter les utilisateurs à l'accès aux services de version de contenu d'un nom ou d'un groupe de noms spécifique. Le nom de version de contenu gère les versions d'un autre nom. Par exemple, la stratégie de contrôle d'accès d'une version garantit que seul le gestionnaire de catalogue peut gérer les versions du type d'objet Catalogue. Le gestionnaire de catalogue est autorisé à créer, supprimer, restaurer, modifier et afficher les versions des objets de catalogue, mais non à effectuer ces mêmes actions sur les objets Marketing.
Pour les services de version de contenu, nous souhaitons répondre à la question : L'utilisateur actuel peut-il effectuer des actions de version de contenu sur les types d'objet spécifiés ?
- Créez l'action. Un profil d'accès est défini par une action :
Les actions précédentes sont prédéfinies pour les services de création, de suppression, de restauration, de modification et d'affichage des versions de contenu dans le fichier suivant : WCDE_installdir\components\foundation\xml\policies\xml\ContentAccessControlPolicies.xml.<Action Name="DisplayResourceAction" CommandName="Display"/> <Action Name="CreateResourceAction" CommandName="Create"/> <Action Name="DeleteResourceAction" CommandName="Delete"/> <Action Name="RestoreResourceAction" CommandName="Restore"/> <Action Name="ChangeResourceAction" CommandName="Change"/> - Créez un groupe d'actions qui contient tous les profils d'accès que le groupe peut utiliser. Le fragment de code suivant pour le groupe d'actions
Catalog-ContentVersion-CatalogManagers-ActionGrouppermet d'accéder aux services de version de contenu pour les opérations de création, de suppression, de restauration, de modification et d'affichage :<ActionGroup Name="Catalog-ContentVersion-CatalogManagers-ActionGroup" OwnerID="RootOrganization"> <ActionGroupAction Name="DisplayResourceAction"/> <ActionGroupAction Name="CreateResourceAction"/> <ActionGroupAction Name="DeleteResourceAction"/> <ActionGroupAction Name="RestoreResourceAction"/> <ActionGroupAction Name="ChangeResourceAction"/> </ActionGroup> - Créez un groupe de ressources qui filtre la version de contenu jusqu'à un sous-ensemble auquel le professionnel peut accéder. Une définition de groupe de ressources offre toute la flexibilité requise pour protéger les ressources d'un état particulier. Si vous souhaitez créer une règle dans laquelle les utilisateurs peuvent accéder aux services de gestion de contenu d'un type d'objet particulier, vous devez définir un groupe de ressources. Par exemple, les gestionnaires de catalogue peuvent créer des objets de version pour les types d'objet Catalog, CatalogGroup et CatalogEntry ; pour cela, définissez un groupe de ressources qui contient une condition de ressource qui filtre en fonction du type d'objet dans le nom ContentVersion. Le fragment de code suivant du groupe de ressources
Catalog-ContentVersion-ResourceGrouprestreint les actions spécifiées aux noms Catalog, CatalogGroup et CatalogEntry, comme indiqué :<ResourceGroup Name="Catalog-ContentVersion-ResourceGroup" OwnerID="RootOrganization"> <ResourceCondition> <![CDATA[ <profile> <andListCondition> <orListCondition> <simpleCondition> <variable name="ObjectType"/> <operator name="="/> <value data="Catalog"/> </simpleCondition> <simpleCondition> <variable name="ObjectType"/> <operator name="="/> <value data="CatalogGroup"/> </simpleCondition> <simpleCondition> <variable name="ObjectType"/> <operator name="="/> <value data="CatalogEntry"/> </simpleCondition> </orListCondition> <simpleCondition> <variable name="classname"/> <operator name="="/> <value data="com.ibm.commerce.content.facade.server.authorization.ContentVersionTypeProtectableProxy"/> </simpleCondition> </andListCondition> </profile> ]]> </ResourceCondition> </ResourceGroup>Un composant essentiel de la définition du groupe de ressources est l'élément<simpleCondition>pour lequelname="classname". Cet élément identifie la classe Java de la ressource à laquelle s'applique le groupe. La classe Java,com.ibm.commerce.content.facade.server.authorization.ContentVersionTypeProtectableProxy, peut être vue dans l'exemple suivant:<simpleCondition> <variable name="classname"/> <operator name="="/> <value data="com.ibm.commerce.content.facade.server.authorization.ContentVersionTypeProtectableProxy"/> </simpleCondition>L'exemple suivant spécifie la condition sur la ressourcecom.ibm.commerce.content.facade.server.authorization.ContentVersionTypeProtectableProxy, comme quoi ObjectType est égal à Catalog.<simpleCondition> <variable name="ObjectType"/> <operator name="="/> <value data="Catalog"/> </simpleCondition>Lorsqu'une demande de version de contenu est reçue, le contrôle d'accès vérifie si l'utilisateur a accès à un service de version de contenu particulier (tel que création, restauration ou suppression). Si l'utilisateur a accès à ce service des versions de contenu particulier, le nom de version de contenu spécifié dans la demande est recherché dans la base de données et comparé aux valeurs
ObjectTyperépertoriées dans le groupe de ressources (Catalog, CatalogGroup, CatalogEntry). - Enfin, créez une règle qui utilise le groupe d'actions.L'exemple de règle ci-après autorise les utilisateurs du groupe d'utilisateurs CatalogManagersForOrg d'accéder aux services de version de contenu des noms Catalog, CatalogGroup et CatalogEntry.
Où :<Policy Name="Catalog-ContentVersion-CatalogManagers-Policy" OwnerID="RootOrganization" UserGroup="CatalogManagersForOrg" ActionGroupName="Catalog-ContentVersion-CatalogManagers-ActionGroup" ResourceGroupName="Catalog-ContentVersion-ResourceGroup" PolicyType="groupableTemplate" />- Nom
- Nom de la stratégie.
- OwnerID
- Organisation à laquelle s'applique la stratégie.
- UserGroup
- Groupe d'accès.
- ActionGroupName
- Groupe d'actions.
- ResourceGroupName
- Groupe de ressources.
- PolicyType
- Type de stratégie, comme standard groupable ou de modèle groupable.