Cómo: Analizar problemas con los permisos de ensamblado mediante Caspol.exe
Puede utilizar la herramienta de la directiva de seguridad de acceso a código (Caspol.exe) para solucionar problemas que podrían hacer que un ensamblado no se ejecute, que obtenga acceso a recursos protegidos o que se ejecute cuando no debe.
Para analizar los problemas con un ensamblado que no se ejecuta
Use las opciones –all y –resolveperm para determinar los permisos que la directiva concede al ensamblado:
caspol –all –resolveperm archivo-ensamblado
Compruebe si el marcador de ejecución está configurado en la clase SecurityPermission para determinar si el ensamblado tiene permiso para ejecutarse Si el ensamblado tiene permisos de ejecución, el conjunto de permisos de seguridad no tendrá restricciones, o el atributo de marcadores incluirá el marcador de ejecución.
Si el ensamblado debe obtener acceso a un recurso protegido (por ejemplo, para obtener acceso a un disco, crear ventanas, escribir en el Registro, etcétera), compruebe si los permisos necesarios están establecidos.
Debido a que los permisos concedidos por el nivel de directiva de empresa, de equipo y de usuario se cruzan, un permiso debe estar establecido en todos los niveles para que el ensamblado lo reciba. Si el ensamblado no tiene permisos suficientes, compruebe los que tiene concedidos en cada nivel de directiva:
caspol –enterprise –resolveperm archivo-ensamblado
caspol –machine –resolveperm archivo ensamblado
caspol –user –resolveperm archivo-ensamblado
Si el ensamblado es parte de un grupo de código cuya condición de pertenencia es demasiado restrictiva o si el conjunto de permisos que tiene asociado no contiene los que necesita para funcionar, el ensamblado no puede ejecutarse correctamente. Si los permisos concedidos al código son insuficientes, puede crear un grupo de código que conceda al ensamblado los permisos necesarios.
También puede modificar el conjunto de permisos asociado o la condición de pertenencia de los grupos de código existentes para que el ensamblado reciba los permisos apropiados. Para obtener más información sobre cómo realizar esta tarea, vea Cómo: Cambiar grupos de código mediante Caspol.exe.
Para analizar un ensamblado que obtiene acceso a recursos protegidos o se ejecuta cuando no debe
- Si un ensamblado se ejecuta cuando no debe o si obtiene acceso a recursos a los que no debería (como a recursos necesarios para crear cuadros de diálogo), probablemente se le han concedido demasiados permisos. Use la opción –resolveperm para determinar qué permisos se han concedido al ensamblado. A continuación, use la opción –resolvegroups para determinar a qué grupos de código pertenece. Cambie las condiciones de pertenencia o los conjuntos de permisos asociados de los grupos de código asociados para limitar los permisos concedidos al ensamblado.
Vea también
Referencia
Caspol.exe (Herramienta de la directiva de seguridad de acceso del código)
Conceptos
Modelo de directiva de seguridad
Otros recursos
Resolver cuestiones de directivas de seguridad mediante Caspol.exe