当我删除Windows Auth时,为什么我的MVC5应用程序会提示我使用Windows Auth?

时间:2016-12-16 17:47:10

标签: asp.net-mvc authentication forms-authentication asp.net-mvc-5

我有一个MVC 5应用程序,以前使用AD进行身份验证。我已经删除了Windows身份验证的设置,并添加了代码以手动对用户数据库进行身份验证。

问题是AD身份验证窗口继续弹出,我需要输入有效的凭据才能访问任何表单。这不是我们所希望的,也不是我能找到的任何代码。

我在任何方法控制器上都没有授权标签。我没有任何形式的安全性,没有任何允许或拒绝配置设置。我无法弄清楚为什么每个表单都会弹出AD身份验证窗口,为什么如果我点击取消,我就无法访问任何表单而不会再次弹出。

配置文件:

<authentication mode="Forms">
  <forms name=".ASPXAUTH" loginUrl="~/Account/Login" timeout="300" slidingExpiration="true" protection="All" />
</authentication>

我查看了我的控制器,视图和global / statup .cs文件。现在没有什么能告诉我一个线索。

我可以显示任何代码段,但我不确定此时的相关内容。

以下是IISExpress设置的applicationhost.config文件,它似乎也正确设置了......

   <authentication>

        <anonymousAuthentication enabled="true" userName="" />

        <basicAuthentication enabled="false" />

        <clientCertificateMappingAuthentication enabled="false" />

        <digestAuthentication enabled="false" />

        <iisClientCertificateMappingAuthentication enabled="false">
        </iisClientCertificateMappingAuthentication>

        <windowsAuthentication enabled="false">
            <providers>
                <add value="Negotiate" />
                <add value="NTLM" />
            </providers>
        </windowsAuthentication>

    </authentication>

    <authorization>
        <add accessType="Allow" users="*" />
    </authorization>

1 个答案:

答案 0 :(得分:0)

applicationhost.config文件的最底部(第1050行)的

是以下数据,其中设置了windowsAuthentication enabled =“true”。将其更改为false后,我不再受Windows登录提示的困扰。

<location path="myapp">
    <system.webServer>
        <security>
            <authentication>
                <anonymousAuthentication enabled="false" />
                <windowsAuthentication enabled="false" />
            </authentication>
        </security>
    </system.webServer>
</location>

该文件位于解决方案根文件夹中,后跟.vs \ config

This帖子帮我指出了检查该文件的方向以及PankajKapare关于IIS Express的评论。

感谢您的帮助。