2012-09-28 46 views
15

Tengo una aplicación asp.net 4.0 que funciona correctamente en cassini, pero cuando implemente en IIS obtengo el error anterior. Se ejecuta en el grupo de aplicaciones predeterminadas que varias otras aplicaciones usan y funcionan bien. Aquí está una copia de mi web.config que puede ser la fuente:Mensaje de error 401.2 .: No autorizado: Error de inicio de sesión debido a la configuración del servidor. Cuando la aplicación se implementó

<!-- 
    For more information on how to configure your ASP.NET application, please visit 
    http://go.microsoft.com/fwlink/?LinkId=169433 
    --> 

<configuration> 
    <connectionStrings> 
    <add name="FMLconnect" connectionString="Server=192.168.20.125;Port=;Database=FML;Uid=******;Pwd=*****;pooling=false;" providerName="MySql.Data.MySqlClient" /> 
    </connectionStrings> 

    <system.web> 
    <httpHandlers> 
     <add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/> 
     <add path="ChartImage.axd" type="Telerik.Web.UI.ChartHttpHandler" verb="*" validate="false"/> 
     <add path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler" verb="*" validate="false"/> 
     <add path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" verb="*" validate="false"/> 
     <add path="Telerik.RadUploadProgressHandler.ashx" type="Telerik.Web.UI.RadUploadProgressHandler" verb="*" validate="false"/> 
     <add path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" validate="false"/> 
     <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false"/> 
     <add type="Telerik.ReportViewer.WebForms.HttpHandler, Telerik.ReportViewer.WebForms, Version=5.1.11.928, Culture=neutral, PublicKeyToken=a9d7983dfcc261be" path="Telerik.ReportViewer.axd" verb="*" validate="true"/> 
    </httpHandlers> 
    <compilation debug="true" targetFramework="4.0" > 
     <assemblies> 
     <add assembly="Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/> 
     <!--<add assembly="Microsoft.ReportViewer.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/> 
     <add assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>--> 
     <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
     <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/> 
     <add assembly="System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/> 
     <add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
     </assemblies> 
    </compilation> 




    </system.web> 

    <system.webServer> 
     <validation validateIntegratedModeConfiguration="false" /> 
    <modules runAllManagedModulesForAllRequests="true" /> 
    </system.webServer> 
</configuration> 

Respuesta

12

Con IIS, esto realmente suena como es necesario comprobar la configuración de autenticación para su aplicación en la administración de IIS. Tratar este enlace: http://support.microsoft.com/kb/253667

Esto es para IIS6, usted no mencionó si estuviera utilizando IIS 6 o 7. Para IIS 7, intente esto: http://support.microsoft.com/kb/942043

+0

Es IIS 7. Ver los artículos de soporte anteriores, no hizo ninguna diferencia. – user1240615

+4

Para mí, la Autenticación de Windows no se instaló por defecto con IIS 7. – roadsunknown

+0

Gracias imjohnking, por alguna razón, la Autenticación de Windows no estaba instalada en ninguno de los dos. Los pasos de resolución en http://support.microsoft.com/kb/942043 me ayudaron a que mi aplicación funcione. –

6

Si está trabajando con IIS Express, cheque el web.config

 <!-- AUTHENTICATION 
     This section sets the authentication policies of the application. Possible modes are "Windows", 
     "Forms", "Passport" and "None" 
--> 
    <authentication mode="Windows"/> 
    <identity impersonate="true"/> 
    <!-- AUTHORIZATION 
     This section sets the authorization policies of the application. You can allow or deny access 
     to application resources by user or role. Wildcards: "*" mean everyone, "?" means anonymous 
     (unauthenticated) users. 
--> 
    <!--<authorization> 
     <deny users="?"/>--> 
     <!-- Allow all users --> 
     <!-- <allow  users="[comma separated list of users]" 
         roles="[comma separated list of roles]"/> 
       <deny  users="[comma separated list of users]" 
         roles="[comma separated list of roles]"/> 
     --> 
    <!--</authorization>--> 
4

Prueba esto:

  • Abra el Administrador de IIS
  • Haga clic en su servidor web (es decir, el servidor en sí mismo; no es un sitio) en la barra de conexiones.
  • Seleccione Autenticación de la sección IIS.
  • Habilite protocolos según sea necesario. Cualquier cosa deshabilitada aquí no estará disponible para los sitios alojados en este servidor; cualquier cosa habilitada aquí usará la configuración del sitio individual.
  • Reiniciar IIS (start, run, cmd (ejecutar como administrador), iisreset -noforce)
2

Esto podría ser una respuesta muy tarde, pero el problema en mi caso fue una Implementar Web mal configurado perfil de publicación (Uso) Tan pronto como deseleccioné la opción Precompile during publishing (abajo) y volví a publicar, volvió a la normalidad y pude acceder a ella.

También probé la activación/desactivación de un par de tiempo y que confirmó que era la única razón. El problema apareció cuando lo activé de nuevo y desaparecí cuando lo desactivé.

enter image description here

Y para ser honesto, yo todavía no tengo una explicación sobre lo que hace esta opción impacto tienen exactamente y por qué es la causa de tal problema. Encontré esto question pero todavía estoy investigando.

7

Me pasaron un proyecto VS2012 a 2013 y que cambió la propiedad Proyecto de autenticación de Windows de Activado a Desactivado y luego que estaba recibiendo este error. Un cambio simple resolvió el problema. Vaya a la solución y haga clic en las propiedades para cambiar esto.

Si está utilizando IISExpress, las líneas deben ser algo como:

<IISExpressAnonymousAuthentication>disabled</IISExpressAnonymousAuthentication> 
<IISExpressWindowsAuthentication>enabled</IISExpressWindowsAuthentication> 
0

También conseguía este error al intentar ejecutar una existente ASP.NET Web Forms aplicación bajo IIS expreso (pero esto probablemente también se aplique a IIS).

La aplicación se ha configurado en el applicationhost.config a utilizar el grupo de aplicaciones Clr4IntegratedAppPool. Cambiar el applicationPool atributo a Clr4ClassicAppPool resolvió el problema para mí.

6

Tuve el mismo problema ahora. Ninguna de las correcciones que encontré funcionó, así que solo publicaré aquí en caso de que ayude a alguien.

Para mí el problema se resolvió de esta manera: gestor de

  • Abrir IIS
  • Seleccionar "Grupos de aplicaciones"
  • haga clic en el botón derecho en el grupo de aplicaciones que está utilizando y seleccione "Configuración avanzada"
  • Establezca "Habilitar aplicaciones de 32 bits" en "Verdadero"
  • Haga clic en "Aceptar" para cerrar el cuadro de diálogo
  • Haga clic derecho en la aplicación agrupe de nuevo y seleccione "Reciclar"

Espero que ayude a alguien más a salir! Esto me estaba volviendo loco.

+1

Estamos teniendo este problema en un servidor en particular, pero no en otros. La configuración Habilitar 32 bits "corrige" el problema, pero no sé por qué (aún así, todavía espero encontrar una solución que tenga sentido para mí). Gracias por la sugerencia, ¡al menos ahora es funcional! –

+0

Esto me estaba volviendo loco y activar 32 bits hizo que el sitio funcionara nuevamente, pero no tengo idea de por qué. Creo que de repente sucedió después de eliminar las carpetas bin y obj en el proyecto de presentación, pero no sé si ese fue el caso. Frustrante. – kentrh

+0

Gracias señor, intenté muchas otras respuestas en Q diferentes y esto resolvió el problema – John

Cuestiones relacionadas