5
Sto tentando di rimuovere un ruolo specifico da un elemento. In questo momento ho 3 ruoli assegnati. "Tutti", "sitecore \ author", "sitecore \ developer". Come rimuovere "Everyone" e "sitecore \ author". Finora ho provato questo, ma non funziona.Come cancellare il ruolo di sicurezza in Sitecore?
public static void ClearSecurityRoles(this Item item)
{
var accessrules = item.Security.GetAccessRules();
var role = Sitecore.Security.Accounts.Role.FromName("Everyone");
accessrules.Helper.RemoveExactMatches(role,AccessRight.Any,PropagationType.Any);
item.SaveSecurityAccessRules(accessrules);
}
public static void SaveSecurityAccessRules(this Item item, AccessRuleCollection accessRules)
{
item.Editing.BeginEdit();
item.Security.SetAccessRules(accessRules);
item.Editing.EndEdit();
}
Quando uso accessrules.clear()
rimuove tutti i ruoli, ma voglio essere in grado di rimuovere solo due. Come lo faccio?
potete inserire il valore grezzo per il campo della sicurezza sulla voce? –
Quando cerco di ottenere la vista grezza, ho ricevuto l'errore "Valutazione della funzione disabilitata perché una valutazione della funzione precedente è scaduta". Inoltre, c'è un modo per iterare su tutti i ruoli e rimuoverlo controllandone il nome? – siddhipur
Il ruolo Everyone è un ruolo virtuale. Sitecore fornisce un ruolo globale per tutti, il ruolo viene utilizzato quando si assegnano e si risolvono i problemi di sicurezza per tutti gli utenti, forse perché non è possibile rimuoverlo, dal momento che è un ruolo virtuale –