Solicitudes de permiso

Actualización: noviembre 2007

Las solicitudes de permiso son el modo principal de hacer que el código tenga en cuenta la seguridad. Se deben incluir solicitudes de permiso en las aplicaciones que tengan acceso a recursos protegidos. Para obtener más información, vea Conceptos básicos sobre la seguridad de acceso a código. Las solicitudes permiten realizar las dos cosas siguientes:

  • Solicitar los permisos mínimos que debe recibir el código para ejecutarse.

  • Garantizar que el código recibe sólo los permisos necesarios.

En el ejemplo de código siguiente se muestra una solicitud de permiso básica.

<assembly: FileIOPermissionAttribute(SecurityAction.RequestMinimum, Write := "C:\test.tmp"), _
assembly: PermissionSet(SecurityAction.RequestOptional, Unrestricted := False)>  
[assembly:FileIOPermissionAttribute(SecurityAction.RequestMinimum, Write="C:\\test.tmp")]
[assembly:PermissionSet(SecurityAction.RequestOptional,Unrestricted=false)]

Este ejemplo indica el sistema de seguridad de .NET Framework que el código no debería ejecutar a menos que reciba el permiso para escribir en C:\test.tmp. Si el código encuentra una directiva de seguridad que no concede este permiso, se inicia PolicyException y el código no se ejecuta. Con esta solicitud puede estar seguro de que el código sólo se ejecutará si se concede este permiso y de que no se producirán errores por falta de permisos.

En este ejemplo también se indica al sistema que no es necesario ningún permiso adicional. En ausencia de estos, se concederán al código los permisos que seleccione la directiva. Mientras que los permisos adicionales no provocan errores, la falta de permisos podría evitar algunos problemas de seguridad imprevistos. Incluir permisos que no sean necesarios para el código puede provocar problemas de seguridad.

Otra forma de limitar los permisos que recibe el código a menos privilegios consiste en crear una lista con los permisos específicos que desee rechazar. Normalmente, los permisos se rechazan cuando se solicita que todos sean opcionales y se excluyen permisos específicos de esa solicitud. Para obtener más información, vea Rechazar permisos.

Vea también

Otros recursos

Instrucciones de codificación segura