Pregunta

Estoy intentando instalar Subtext en un entorno de nivel de confianza medio (host: Crystaltech ) y obtengo el siguiente error (ver más abajo). Pude hacer la configuración de administración, pero cuando intenta ir al blog para un uso real, boom.

Sé que podría " actualizar " el entorno a un nivel de confianza total, pero quiero entender por qué ocurre el error y las ramificaciones de ese cambio a la confianza total antes de que lo haga.

Para ampliar esta pregunta; ¿Cuáles son los " Niveles de confianza " ;?

  

Excepción de seguridad

     

Descripción: El   aplicación intentó realizar una   Operación no permitida por la seguridad.   política. Para otorgar a esta solicitud la   permiso requerido por favor contacte   Su administrador del sistema o cambio   El nivel de confianza de la aplicación en el   archivo de configuración.

     

Detalles de la excepción:   System.Security.SecurityException:   Solicitud de permiso de tipo.   'System.Security.Permissions.SecurityPermission,   mscorlib, versión = 2.0.0.0,   Cultura = neutral,   PublicKeyToken = b77a5c561934e089 '   fallado.

     

Error de fuente:

     

Se generó una excepción no controlada   durante la ejecución de la corriente   solicitud web Información sobre el   Origen y ubicación de la excepción.   se puede identificar utilizando la excepción   apilar traza a continuación.

     

Rastreo de pila:

     

[SecurityException: solicitud de   permiso de tipo   'System.Security.Permissions.SecurityPermission,   mscorlib, versión = 2.0.0.0,   Cultura = neutral,   PublicKeyToken = b77a5c561934e089 '   fallado.]
  System.Web.Security.UrlAuthorizationModule.CheckUrlAccessForPrincipal (String   virtualPath, usuario principal, String   verbo) +47
  Subtext.Framework.UrlManager.UrlReWriteHandlerFactory.GetHandlerForUrl (String   url) +66
  Subtext.Framework.UrlManager.UrlReWriteHandlerFactory.ProcessHandlerTypePage (HttpHandler   item, contexto HttpContext) +143
  Subtext.Framework.UrlManager.UrlReWriteHandlerFactory.GetHandler (HttpContext)   contexto, String requestType, String   url, String path) +340
  System.Web.HttpApplication.MapHttpHandler (HttpContext)   contexto, String requestType,   Ruta de VirtualPath, String   pathTranslated, Boolean useAppConfig)   +175 System.Web.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute ()   +128 System.Web.HttpApplication.ExecuteStep (IExecutionStep   paso, Boolean & amp; completado de forma síncrona)   +161

¿Fue útil?

Solución

No creo que exista otra forma de evitar el error que no sea pasar a la plena confianza o eliminar la llamada a CheckUrlAccessForPrincipal () y volver a compilar.

Pero por el aspecto de las cosas, este problema en particular ya se ha corregido en el subtexto SVN (revisión 3290). También han agregado una nueva tarea de compilación para el subtexto 2.0.1 que debería incluir la corrección. Supongo que se lanzará cuando esté listo.

Otros consejos

Los niveles de confianza son en realidad solo punteros a algunos archivos de configuración de seguridad. Los niveles de confianza de dafault se definen en C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG \ web.config, " Medio " Confíe apuntando a web_mediumtrust.config.

En cuanto a la excepción, echar un vistazo a System.Web.Security.UrlAuthorizationModule.CheckUrlAccessForPrincipal () con reflector revela que el método se atribuye con [SecurityPermission (SecurityAction.Demand, Unrestricted = true)], lo que significa que requiere un permiso de seguridad sin restricciones, que no se ejecuta bajo confianza media.

Más información sobre agregar al molino desde csgero:

http: // www .kowitz.net / archive / 2008/08/15 / upgrade-to-subtext-2.0-fail.aspx

Hay un pequeño comentario de Phil Haack, supongo que está ocupado con otras cosas en este momento :)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top