Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 从AD获取当前登录的用户(而不是NT授权/网络服务)_Asp.net_Iis_Active Directory - Fatal编程技术网

Asp.net 从AD获取当前登录的用户(而不是NT授权/网络服务)

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使用我的帐户作为应用程序池(只是为了测试),但这只会把所有事情搞砸 你知道我

我有一个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
。但一旦他们登录,你就会看到他们的实际域名和用户名。