c# asp.net medium-trust

c# - ¿Cómo escribir a Web.Config en Medium Trust?



asp.net medium-trust (1)

Cargar mi primera aplicación web de un tamaño decente a mi host compartido me proporcionó un nuevo conjunto de desafíos, es decir, noches sin dormir. El problema era que ciertamente no había desarrollado mi aplicación para la confianza media (o tenía alguna pista de qué se trataba).

Mitigué todos los problemas, excepto uno.

Escribí un instalador para que el administrador pueda especificar sus conexiones y otras preferencias, pero no puedo encontrar una forma de escribir en un web.config en confianza media. ¿Alguien tiene una solución, o debería poner las preferencias en otro archivo?


Eso realmente suena como el nivel Low de IIS. Si es así, no podrá escribir en ningún archivo, no solo en web.config.

Estos son los niveles del archivo de ayuda de IIS:

  • Completo (interno): especifica permisos no restringidos. Otorga los permisos de la aplicación ASP.NET para acceder a cualquier recurso que esté sujeto a la seguridad del sistema operativo. Todas las operaciones privilegiadas son compatibles.
  • Alto (web_hightrust.config): especifica un alto nivel de seguridad de acceso al código, lo que significa que la aplicación no puede hacer ninguna de las siguientes cosas por defecto:
    • Llamar código no administrado.
    • Llame a los componentes revisados.
    • Escribir en el registro de eventos.
    • Acceda a las colas de servicio de Message Queue Server.
    • Acceda a las fuentes de datos de ODBC, OleDb u Oracle.
  • Medio (web_mediumtrust.config): especifica un nivel medio de seguridad de acceso al código, lo que significa que, además de las restricciones de Alto nivel de confianza, la aplicación ASP.NET no puede hacer ninguna de las siguientes cosas de forma predeterminada:
    • Acceda a archivos fuera del directorio de la aplicación.
    • Acceda al registro.
    • Hacer llamadas de servicios web o de red.
  • Bajo (web_lowtrust.config): especifica un bajo nivel de seguridad de acceso al código, lo que significa que, además de las restricciones de Nivel medio de confianza, la aplicación no puede hacer ninguna de las siguientes cosas por defecto:
    • Escribir en el sistema de archivos.
    • Llame al método Assert.
  • Mínimo (web_minimaltrust.config): especifica un nivel mínimo de seguridad de acceso al código, lo que significa que la aplicación solo tiene permisos de ejecución.

Sugeriría que si no está seguro de tener un instalador, haga que cree un web.config en memoria que el usuario pueda guardar localmente y luego FTP .