Buscar..


Observaciones

Sitecore ofrece dos formas de acceder a elementos a los que el usuario de contexto no tiene permisos de acceso. La forma preferida es usar la clase UserSwitcher para cambiar temporalmente el usuario que se usará para acceder al elemento. La razón por la que se prefiere esto es porque aún puede tener permisos vigentes para la cuenta de usuario que se está utilizando.

La alternativa es usar la clase SecurityDisabler. Esto realiza la acción sin ninguna restricción de seguridad.

Se recomienda usar solo estas clases para las operaciones que requieren permisos elevados. La mejor manera de asegurar esto es utilizando la palabra clave 'usar' en C #; esto asegurará que el UserSwitcher / SecurityDisabler esté correctamente eliminado.

Deshabilitar la verificación de permisos al acceder a un elemento

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

Hacerse pasar por un usuario diferente al acceder a un elemento

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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow