Rutinas con privilegios y $Roles
Las rutinas con privilegios te permiten elevar los roles de un usuario mientras las utiliza. Estas rutinas con privilegios (Privileged Routine Application) pueden utilizarse con rutinas y también con clases / métodos.
Cuando las utilices, es importante asegurarse de incluir new $ROLES, antes de elevar los privilegios con AddRoles(). Por ejemplo:
new $ROLES
set status=$System.Security.AddRoles("MyPrivilegedRoutineApplication")
De esta manera, te aseguras que de verdad los roles añadidos (elevados) desaparecen para el usuario una vez está fuera del alcance de la rutina / método.
[Gracias a @Andreas Dieckow por validar esto].
Ir a la publicación original, escrita por @Tani Frankel