3

我是具有 asp.net mvc 2.0 站点的 NTLM(web.config 中的authenication="windows")。

现在,一旦用户登录,它就会让他们一次登录数周。

该应用程序的使用正在向共享使用登录服务帐户的计算机的用户开放。

我需要该站点每次都重新提示每个用户提供他们的 AD 凭据,以便处理这些用户。(网站上的活动必须链接到唯一标识的用户。)

感谢您提供的任何帮助。

特雷卡罗尔

4

3 回答 3

4

一种方法是使用HTTP 401 challenge.

原则是拒绝凭据,即使它们有效强制所有用户(或某些取决于 AD 属性/代码参数的用户......)重新输入其凭据。

您必须在响应中发送HTTP 401代码以向浏览器表明已发送的凭据不被接受。根据浏览器配置,您必须发送 1 到 3 个401响应(您可以使用 cookie 来处理计数器)以强制浏览器提示用户,因此最多计数 3 个。

if (mycounter < 3)
{
    Response.StatusCode = 401; 
    Response.End();
}

HTTP 的 NTLM 身份验证方案

IIS 身份验证

于 2010-05-24T18:28:50.537 回答
2

我会将应用程序更改为使用表单身份验证。您仍然可以针对 AD 验证凭据,但您将能够强制执行登录要求。

于 2010-05-24T17:43:16.263 回答
0

你能确保他们只使用不自动支持 NTLM 的浏览器吗?例如,当我访问我们的 Sharepoint 服务器时,我必须在 Firefox 中使用我的域凭据登录。

于 2010-05-24T17:51:36.830 回答