Active Directory身份验证

时间:2008-12-16 14:25:14

标签: c# com asp-classic active-directory

我有一个c#类,它使用WindowsIdentity命名空间返回当前Active Directory用户的详细信息。这可以通过SPS上的Web部件访问,并确保返回特定于该用户的所需记录值。

我有一个经典的ASP应用程序,我希望继承这个功能。将其作为COM包装并将其注册到服务器后,我创建了一个Classic ASP页面,可以从中调用并向浏览器窗口显示详细信息。

我的问题是,当从客户端计算机上的经过身份验证的用户访问此页面时,它显示的唯一用户详细信息是本地计算机的详细信息。

如何更改我的代码,以便显示从客户端计算机访问该页面的用户的详细信息?

2 个答案:

答案 0 :(得分:1)

经典ASP让我们回归。 :-) 不要以为自2002年以来我就碰过它了......

在ASP页面中查看Request.ServerVariables(“logon_user”)有什么问题吗? 这应该给你域\用户名。

您可以将域\用户名传递给类以从中检索帐户详细信息,而不是尝试以最终用户的身份运行COM包装的类(这是您遇到的问题)。 AD然后从那里显示任何所需的项目。这样就不需要冒充来获取当前用户的windows-identity。

答案 1 :(得分:1)

另请检查IIS中运行网站的身份验证方法。

右键单击IIS管理器中的网站,属性 - >目录安全 - >身份验证和访问控制 - >编辑...

确保选中“集成Windows身份验证”,清除“启用匿名访问”。