sitecore
Sicherheit
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");
}