我有一个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>
答案 0 :(得分:0)
是以下数据,其中设置了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的评论。
感谢您的帮助。