【发布时间】:2015-03-21 11:07:10
【问题描述】:
我继承了一个使用 Windows 身份验证的应用程序。问题是我需要让应用程序始终提示输入凭据,因为不同的人需要登录并使用它。我的 web.config 很简单:
<authentication mode="Windows" />
<authorization>
<allow roles="application_whitelist" />
<deny users="?" />
</authorization>
所以我们从“application_whitelist”中添加/删除用户来控制对应用程序的访问。当然,问题是我们没有被提示输入我们的凭据。有没有办法强迫这种情况发生? (我检查了ASP.NET windows authentication should always ask for credentials,但没有任何帮助。)
【问题讨论】:
-
您知道有一个简单的自动 NTLM/Kerberos 握手,根据浏览器的不同,它会为您完成登录操作。用户是否真的经过身份验证,或者他们是否可以匿名访问您的 Web 应用程序?
-
我对 Kerberos 一无所知,所以不,我不知道有一个简单的自动握手可以为我做这件事。你能提供(或指出)更多细节吗?我的用户已通过身份验证;他们没有匿名访问权限。
-
msdn.microsoft.com/en-us/library/cc246219.aspx,并做一些摆弄以深入了解实际的请求和响应...
-
感谢您的指点,@Andreas。我喜欢学习新事物,但我们确定这是最好的方法吗?当然,我不是唯一遇到此要求的人? (我只是在问)切换到表单身份验证并使用 LDAP 之类的东西来访问 AD 会更直接吗?
-
顺便说一句,当有人对此问题添加评论时,我没有收到通知。我做错了什么?我必须继续检查是否添加了任何内容。
标签: c# asp.net authentication