Suche…


Bemerkungen

Sitecore bietet zwei Möglichkeiten, auf Elemente zuzugreifen, auf die der Kontextbenutzer nicht zugreifen kann. Die bevorzugte Methode ist die Verwendung der UserSwitcher-Klasse, um den Benutzer vorübergehend zu ändern, der für den Zugriff auf das Element verwendet wird. Der Grund dafür ist, dass dies bevorzugt wird, weil Sie weiterhin Berechtigungen für das Benutzerkonto haben, das verwendet wird.

Die Alternative ist die Verwendung der SecurityDisabler-Klasse. Dadurch wird die Aktion ohne Sicherheitsbeschränkungen ausgeführt.

Es wird empfohlen, diese Klassen nur für Vorgänge zu verwenden, für die erhöhte Berechtigungen erforderlich sind. Dies kann am besten mit dem Schlüsselwort 'using' in C # sichergestellt werden. Dadurch wird sichergestellt, dass der UserSwitcher / SecurityDisabler ordnungsgemäß entsorgt wird.

Deaktivieren Sie die Berechtigungsprüfung beim Zugriff auf ein Element

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

Identifizieren Sie einen anderen Benutzer, wenn Sie auf ein Element zugreifen

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
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow