错误消息401.2.:未授权:由于服务器配置登录失败.部署应用程序时

use*_*615 17 asp.net

我有一个asp.net 4.0应用程序在cassini下运行良好,但当我部署到IIS时,我得到上述错误.它运行在默认应用程序池下,许多其他应用程序使用并正常工作.这是我的网络配置的副本,可能是来源:

<!--
  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>
Run Code Online (Sandbox Code Playgroud)

Mic*_*oni 20

我们的项目在重新加载后总是会发生这种情况。在此输入图像描述

如果您使用Windows 身份验证,问题可能就像更新项目属性以启用Windows 身份验证一样简单。

在 Visual Studio 中,访问项目属性(我通常右键单击文件 > 属性以打开属性窗口。然后单击我的项目)。确保 Windows 身份验证设置为启用

  • 有时最简单的答案就是最好的。感谢您指出。解决了我的问题 (4认同)

imj*_*ing 14

使用IIS,这听起来好像需要在IIS Admin中检查应用程序的身份验证设置.试试这个链接:http: //support.microsoft.com/kb/253667

这是针对IIS6,您没有提到您是使用IIS 6还是7.对于IIS 7,请尝试以下方法:http: //support.microsoft.com/kb/942043

  • 对我来说,IIS 7默认情况下未安装Windows身份验证. (4认同)

Jay*_*Jay 8

我将VS2012项目升级到2013,它将Project属性从Windows身份验证从Enabled更改为Disabled,然后我收到此错误.简单的改变解决了这个问题 转到解决方案并单击属性以更改此设置.

如果您使用的是IISExpress,则行应如下所示:

<IISExpressAnonymousAuthentication>disabled</IISExpressAnonymousAuthentication>
<IISExpressWindowsAuthentication>enabled</IISExpressWindowsAuthentication>
Run Code Online (Sandbox Code Playgroud)


Jos*_*980 7

如果您正在使用IIS Express,请检查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>-->
Run Code Online (Sandbox Code Playgroud)


小智 7

我刚才遇到了同样的问题.我发现没有任何修复工作,所以我只是发布在这里,以防它帮助某人.

对我来说,问题就是这样解决的:

  • 打开IIS管理器
  • 选择"应用程序池"
  • 右键单击您正在使用的应用程序池,然后选择"高级设置"
  • 将"启用32位应用程序"设置为"True"
  • 单击"确定"关闭对话框
  • 再次右键单击应用程序池并选择"Recycle"

希望能帮助别人出局!这让我发疯了.


Joh*_*van 5

尝试这个:

  • 打开 IIS 管理器
  • 在连接栏中单击您的 Web 服务器(即服务器本身;而不是站点)。
  • 从 IIS 部分选择身份验证。
  • 根据需要启用协议。此处禁用的任何内容都将无法用于此服务器上托管的站点;此处启用的任何内容都将使用各个站点的设置。
  • 重新启动 IIS ( start, run, cmd(以管理员身份运行), iisreset -noforce)