Asp.net 从AD获取当前登录的用户(而不是NT授权/网络服务)
我有一个c#asp.net web应用程序,需要获取当前登录的用户(Windows身份验证-Active directory) 我将ISS(7.5)中的身份验证更改为windows身份验证,并在web.config中阻止匿名访问 但是,当我使用“System.Security.Principal.WindowsIdentity.GetCurrent()”时,我不会获得自己的用户凭据,而是NT授权/网络服务 我尝试让iis使用我的帐户作为应用程序池(只是为了测试),但这只会把所有事情搞砸Asp.net 从AD获取当前登录的用户(而不是NT授权/网络服务),asp.net,iis,active-directory,Asp.net,Iis,Active Directory,我有一个c#asp.net web应用程序,需要获取当前登录的用户(Windows身份验证-Active directory) 我将ISS(7.5)中的身份验证更改为windows身份验证,并在web.config中阻止匿名访问 但是,当我使用“System.Security.Principal.WindowsIdentity.GetCurrent()”时,我不会获得自己的用户凭据,而是NT授权/网络服务 我尝试让iis使用我的帐户作为应用程序池(只是为了测试),但这只会把所有事情搞砸 你知道我
你知道我可以做些什么来获得自己的用户凭据吗?
System.Security.Principal.WindowsIdentity.GetCurrent()
返回web应用程序正在运行的帐户的身份
HttpContext.Current.User.Identity
返回登录用户的身份。通常,您只需执行User.Identity
。如有疑问,请阅读文档 使用HttpContext.Current.User.Identity
这是如何解决的?在这种情况下,它是一个Sitecore网站,而HttpContext.Current.User.Identity为我提供了{Sitecore.Security.Principal.SitecoreIdentity}sitecoreIdentity中没有/没有用户,但这是sitecore extranet中当前登录的用户/anonymous@Timon.Name
属性包含用户名。据报道,这是意料之中的。当用户未登录时,他们将拥有帐户extranet/anonymous
。但一旦他们登录,你就会看到他们的实际域名和用户名。