2012-07-17 11 views
11

Descripción: La aplicación intentó realizar una operación no permitida por la política de seguridad. Para otorgar a esta aplicación el permiso requerido, comuníquese con el administrador del sistema o cambie el nivel de confianza de la aplicación en el archivo de configuración.System.Security.SecurityException?

Detalles de la excepción: System.Security.SecurityException: solicitud de permiso de tipo 'System.Security.Permissions.FileIOPermission mscorlib versión = 4.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089' falló.

Mi código se ejecuta correctamente en mi servidor local, es un problema de creación cuando lo carga al servidor.

han pasado por la siguiente código pero que no funciona para mí:

Muestra 1:

<system.web> 
    <securityPolicy> 
    <trustLevel name="Full" policyFile="internal"/> 
    </securityPolicy> 
</system.web> 

Muestra 2:

<location allowOverride="false"> 
    <system.web> 
    <securityPolicy> 
     <trustLevel name="Full" policyFile="internal" /> 
     <trustLevel name="High" policyFile="web_hightrust.config" /> 
     <trustLevel name="Medium" policyFile="web_mediumtrust.config" /> 
     <trustLevel name="Low" policyFile="web_lowtrust.config" /> 
     <trustLevel name="Minimal" policyFile="web_minimaltrust.config"/> 
    </securityPolicy> 
    </system.web> 
</location> 

Muestra 3:

<system.web> 
    <trust level="Full" originUrl="" /> 
</system.web> 

No puedo poder acceder a IIS solo tengo detalles de FTP para cargar el archivo. Por favor sugiérame una opción para resolverlo desde el archivo webconfig.

+0

¿Dónde está el servidor? – leppie

+0

Necesita permiso de escritura en la carpeta app_data y el nivel de confianza establecido en "alto" o "completo" en IIS (o consola de administración para alojamiento web). Al actualizar, los permisos de archivos pueden sobrescribirse y es posible que deba reiniciarse. Recientemente he visto este error con 2.5.0.11 y tuve que agregar la directiva de confianza completa a web.config, aunque IIS me dijo que ya es de plena confianza. No estoy seguro por qué, pero lo solucionó. – Abhijeetchindhe

Respuesta

0

NOTA: Si está utilizando un host compartido, generalmente tienen una interfaz web para permitir el acceso de lectura/escritura a los archivos.

No recomiendo pero se puede suplantar a una cuenta específica:

<system.web> 
    <identity impersonate="true" username="user" password="pass" /> 
</system.web> 

De lo contrario, asegúrese de haber concedido el permiso adecuado para el archivo (s) que está intentando acceder a la Identity ser utilizados en su grupo de aplicaciones.

Specify an Identity for an Application Pool (IIS 7)

+0

HUmm también tienen el código de prueba por encima. No es resolver mi problema ... gracias por la sugerencia. –

+0

¿Estás usando un host compartido? –

+0

Sí, he compartido alojamiento ... –

11

El enfoque que utilizó en la muestra tres es similar a mi solución, pero no agregó el atributo adicional que tenías. Pruebe este enfoque simple.

<system.web> 
    <trust level="Full"/> 
    </system.web> 

Esto vino de un MSDN posting leí.

Cuestiones relacionadas