2012-01-11 20 views
5

¿Alguien puede ayudarme a orientarme en la dirección correcta de cómo podría solucionar este error?System.Security.SecurityException: Falló la solicitud del permiso de principal

System.Web.Services.Protocols.SoapException: Server was unable to process request. 
    ---> System.Security.SecurityException: Request for principal permission failed. 
at System.Security.Permissions.PrincipalPermission.ThrowSecurityException() 
at System.Security.Permissions.PrincipalPermission.Demand() 
at System.Security.PermissionSet.DemandNonCAS() 
at LiveDocx.MailMerge.SetLocalTemplate(String template, String format) 

He instalado este software que mi empresa adquirió de LiveDocx. Por lo tanto, no tengo la capacidad de modificar el código o incluso leer el código. He instalado todo de acuerdo con su documentación y se confirma que el sitio funciona. Solo puedo cambiar la configuración en IIS, permisos de la carpeta y Web.config. Nuestro servidor, su software.

Ahora, tengo problemas para permanecer conectado al servicio web. Antes de que piense que es el cliente de soap, he confirmado que funciona llamando a los servidores del proveedor.

Localmente, puedo llamar con éxito al servicio web durante el inicio de sesión y funciona bien. Sin embargo, cuando realizo una llamada subsiguiente, obtengo el Request for principal permission failed.

A petición de su soporte técnico, he agregado <trust level="Full" /> a la web.config, pero eso no funcionó. Ahora, han dejado de responder a nuestros correos electrónicos.

No soy un desarrollador de ASP.NET, por lo que mi conocimiento es limitado en la configuración del servidor. ¿Puede alguien señalarme en la dirección correcta por qué ocurre este error y algunos lugares para resolver este problema?

Respuesta

2

Finalmente encontré una solución. Este error sobre permisos es un poco engañoso. Después de muchas pruebas y errores, finalmente acepté que los permisos del usuario del grupo de aplicaciones no tenían nada que ver con este problema. Lo que me llevó a investigar la configuración web.config y ahí es donde encontré el problema.

El problema era que el archivo web.config suministrado faltaba la etiqueta <authentication> y la configuración requerida. Esta etiqueta (según entiendo) es lo que habilita las cookies. Espero que esto ayude a otros con este error, incluso si no está relacionado con LiveDocx. Parece que Request for principal permission failed. puede ser causado por varias razones, lo que lo convierte en un error frustrante.

Este artículo fue muy útil How To: Use Membership in ASP.NET 2.0

2

sospecharía la identidad del usuario que está ejecutando la solicitud, lo que es más probable que el usuario ASP.Net grupo de aplicaciones para el sitio web de su aplicación IIS se ejecuta en.

La forma más fácil de probar esta es crear un nuevo grupo de aplicaciones para su aplicación IIS (a menos que no haya otras aplicaciones en su grupo de aplicaciones actual), elija una identidad diferente para el grupo de aplicaciones (puede comenzar con el servicio de red, pero puede requerir un usuario local), luego asigne su aplicación a ese grupo.

Esto debería indicar si se trata de un problema de permisos con la identidad del conjunto de aplicaciones.

+0

Sí, no es el grupo de aplicaciones, he intentado con todos los usuarios posibles y otorgué todos los derechos a cada usuario. –

2

me encontré con esto porque tuve una aplicación en un sitio web configurado para usar el nombre de la cookie mal.

El web.config en mi sitio Web raíz visto así

<authentication mode="Forms"> 
    <forms name="AuthCookie" path="/"></forms> 
</authentication> 

y la aplicación bajo tenía una web.config en virtud de que se parecía a este

<authentication mode="Forms"> 
    <forms name="WRONGCOOKIENAME" path="/"></forms> 
</authentication> 

La aplicación tenido formulario web con un constructor que se veía así

[PrincipalPermissionAttribute(SecurityAction.Demand, Role = "Foo", Authenticated = true)] 

Por lo tanto, se requiere la autenticación pero no tenerlo porque el nombre de la cookie que estaba mal. La reparación del nombre de la cookie resolvió el error.

2

Tuve un problema similar y estaba usando una aplicación de formularios y sigo teniendo este problema. También estaba usando el permiso del director y la demanda de acción de seguridad.

Intenté todas las configuraciones relacionadas con web.config y el problema final fue con el grupo de aplicaciones.

Si está migrando la aplicación de WinXP a Win7 y a otra versión superior, es posible que vea que hay una canalización administrada que apunta de manera predeterminada al sitio web al modo integrado. Cambié esto al modo clásico que ha solucionado el problema. Esperemos que esto ayude a los miembros que están intentando mover la aplicación de WinXp a Win7

Cuestiones relacionadas