sitecore
Veiligheid
Zoeken…
Opmerkingen
Sitecore biedt twee manieren om toegang te krijgen tot items waartoe de contextgebruiker geen toegangsrechten heeft. De beste manier is om de klasse UserSwitcher te gebruiken om tijdelijk de gebruiker te wijzigen die zal worden gebruikt om toegang tot het item te krijgen. De reden dat dit de voorkeur heeft, is omdat u nog steeds machtigingen kunt hebben voor het gebruikersaccount dat wordt gebruikt.
Het alternatief is om de klasse SecurityDisabler te gebruiken. Dit voert de actie uit zonder beveiligingsbeperkingen.
Het wordt aanbevolen om deze klassen alleen te gebruiken voor de bewerkingen waarvoor verhoogde machtigingen zijn vereist. De beste manier om dit te verzekeren is door het trefwoord 'gebruiken' in C # te gebruiken; dit zorgt ervoor dat de UserSwitcher / SecurityDisabler correct wordt verwijderd.
Schakel machtigingscontrole uit bij toegang tot een item
using (new Sitecore.SecurityModel.SecurityDisabler())
{
var item = Sitecore.Context.Database.GetItem("/sitecore/content/home");
}
Zich voordoen als een andere gebruiker bij het openen van een item
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");
}