如何在C#中获取当前登录的Active Directory用户名

时间:2010-10-23 09:31:51

标签: c# asp.net active-directory

我想获取当前登录的活动目录用户名/详细信息。

此处,用户使用其AD用户名和密码登录计算机。如何在Application.AuthenticateRequest()事件的Global.asax文件中获取此用户名和其他详细信息。

我用过 System.Security.Principal.WindowsIdentity.GetCurrent().Name 但是,当它在IIS 6.0上托管时,会返回Server的用户凭据。例如“domain \ username”。我目前启用了匿名访问和集成身份验证。在使用表单身份验证的项目中。

我应该使用System.Directory.dll

吗?

1 个答案:

答案 0 :(得分:2)

如果您需要Windows凭据,则应禁用匿名访问,并在应用程序中使用Windows安全性而不是表单身份验证。

使用HttpContext.User.Identity.Name获取应用程序内登录用户的名称。如果您使用表单身份验证,那么您将获得登录表单用户的名称,如果您使用集成安全性和Windows身份验证,那么您将获得用户的AD名称。