2015-01-12 27 views
1

我想获得当前用户的Windows登录,但它只是返回DefaultAppPool(运行该网站的池)。如果我尝试在web.config中添加模仿,我会得到运行IIS的Windows用户。HttpContext.Current.User.Identity.Name返回DefaultAppPool,为什么?

IIS配置启用了Windows身份验证并禁用了匿名身份验证。

如何获取用户,即访问该网站,而不是?

+0

好吧,可能我错了,但我非常确定User.Identity.Name会做的伎俩。我删除我的答案,希望有人帮助你! – mybirthname

+0

你不应该 - 答案不是我的问题的答案,但它是正确的。实质上,一些额外的Windows ID存储在凭证管理器中,使我们的PC看起来像服务器的用户已登录。 –

回答

0

的问题是,额外的Windows标识被存储在凭据管理器让我们的PC看起来像服务器的用户进行登录。

我最初的代码工作,它只是似乎并不像它一直。

1
string userName1 = HttpContext.Current.Request.LogonUserIdentity.Name; 
string userName2 = User.Identity.Name;// don't take it from HttpContext 

检查您需要哪一个。第二个是页面的属性!

+0

两者均返回运行IIS的Windows用户。 –

+0

你是否从Page.User.Identity.Name中获得第二个? – mybirthname

+0

嗯,我会仔细检查。 –

相关问题