Recherche…


Remarques

Sitecore propose deux méthodes pour accéder aux éléments auxquels l'utilisateur contextuel n'a pas accès. La méthode préférée consiste à utiliser la classe UserSwitcher pour modifier temporairement l'utilisateur qui sera utilisé pour accéder à l'élément. La raison pour laquelle cela est préférable est que vous pouvez toujours avoir des autorisations pour le compte d'utilisateur utilisé.

L'alternative consiste à utiliser la classe SecurityDisabler. Ceci exécute l'action sans aucune contrainte de sécurité.

Il est recommandé d'utiliser uniquement ces classes pour les opérations nécessitant des autorisations élevées. La meilleure façon de garantir cela est d'utiliser le mot clé 'using' en C #; Cela garantira que le UserSwitcher / SecurityDisabler est correctement éliminé.

Désactiver la vérification des autorisations lors de l'accès à un élément

using (new Sitecore.SecurityModel.SecurityDisabler())
{
    var item = Sitecore.Context.Database.GetItem("/sitecore/content/home");               
}

Emprunter l'identité d'un autre utilisateur lors de l'accès à un élément

var user = Sitecore.Security.Accounts.User.FromName("sitecore/testname", false); 

using (new Sitecore.Security.Accounts.UserSwitcher(user))
{
    var item = Sitecore.Context.Database.GetItem("/sitecore/content/home");
}


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow