c# - program - authorization web config
Web.config que causa el error "bloqueado por la polĂtica de grupo" (4)
El miriad de diferentes configuraciones de web.config siempre ha sido un poco misterioso para mí. Me alegro de que Microsoft haya limpiado parte del contenido que se encuentra allí de forma predeterminada, pero sigue causando problemas.
Específicamente, Visual Studio 2015 está ubicando la siguiente sección en el web.config generado de una aplicación estándar de ASP.NET MVC.
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs"
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"/>
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb"
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=/"Web/" /optionInfer+"/>
</compilers>
</system.codedom>
Cuando subo esta aplicación a mi cuenta de hosting de Plesk compartida de GoDaddy, aparece el siguiente error.
Este programa está bloqueado por la política de grupo. Para más información, contacte a su administrador de sistema.
El soporte de GoDaddy es completamente reacio e incapaz de proporcionar asistencia. Sin embargo, encontré que si comento la sección anterior, el error desaparece.
¿Alguien sabe el propósito de este bloque o por qué Microsoft lo pone allí? Mi aplicación parece funcionar bien sin ella. (Tenga en cuenta que mi aplicación utiliza C # y no VB).
Desde ASP.NET 2 es posible cargar su sitio a su hosting sin compilarlo. Luego, el sitio se compilará en la solicitud inicial usando la configuración del compilador como se ve en web.config. Si App_code
su sitio pero aún tiene código en la carpeta App_code
esas configuraciones se usarán para compilar ese código.
Creo que go-daddy deshabilitó la compilación en sus servidores, por lo que ningún código malicioso se puede insertar y compilar de alguna manera.
Mientras no use la carpeta App_code
y compile previamente su sitio web, puede eliminar la sección web.config
que mencionó.
Para más información sobre la App_code
carpeta App_code
:
- https://msdn.microsoft.com/en-us/library/ex526337.aspx
- https://msdn.microsoft.com/en-us/library/t990ks23.aspx
Para obtener más información sobre la compilación dinámica de ASP.NET check:
En su servidor cambie la configuración de Asp.net. Hay una opción para el Nivel de Confianza. Establézcalo en "Completo".
Me doy cuenta de que esto es un poco tarde, pero resolví este problema eliminando todo el contenido del elemento. Esto parece funcionar tanto para precompilados como para otros.
<system.codedom>
<!--remove all the contents here-->
</system.codedom>
Elimine todos los contenidos dentro de la etiqueta system.codedom
y agregue
<trust level="Full"/>
dentro de la etiqueta system.web
<system.web>
<trust level="Full"/>
</system.web>