1

我们正在研究进行基于机器的身份验证,允许特定机器上的任何用户访问我们的 .Net 站点。机器列表会发生变化,但都在内部网络上。假定它们的 IP 地址不是静态的。

为了使其更易于管理,我们希望能够限制对 Active Directory 计算机组的访问。

我可以管理 AD 查询,我的问题是提取机器名称并验证整个会话的最佳位置在哪里?

我考虑创建一个新的 HttpModule,但似乎我必须对每个请求进行身份验证。如果涉及 AD 查询,则对每个请求进行身份验证似乎并不理想。

4

2 回答 2

3

Web 是无状态的,因此无论您使用什么技术,每个请求都始终经过身份验证。然而,不打击 AD 的诀窍是使用会话 http cookie。您将在第一个请求中设置此 cookie,并在后续请求中检查它。您需要对 cookie 进行某种加密保护,但幸运的是,这已在 ASP.NET 中准备就绪。我想说您可以利用表单身份验证基础架构来设置和验证 cookie - 您只需将初始身份验证卸载到 AD,而不是从已发布的表单中读取。

这是一个很好的起点:

了解表单身份验证票和 Cookie http://support.microsoft.com/kb/910443

于 2010-12-10T22:33:58.617 回答
1

您不需要对每个请求进行身份验证。使用您的 HttpModule 验证第一个请求,然后将请求者添加到会话中,或者在短时间内缓存凭据。

于 2010-12-10T22:44:25.997 回答