Asp.Net日志记录,IIS,获取当前用户

时间:2016-04-05 14:37:06

标签: c# asp.net asp.net-mvc iis

在使用Asp.Net的默认日志记录系统获取帐户的当前用户名时,我遇到了一些重大问题。 WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe)似乎工作正常。

在本地调试时问题不是问题,但现在我正处于部署到IIS的位置。我已经测试了几种获取登录用户的方法,但无济于事。我试过的是:

 System.Web.HttpContext.Current.User.Identity.Name
 System.Security.Principal.WindowsIdentity.GetCurrent().Name
 System.Environment.UserName
 HttpContext.Current.Request.LogonUserIdentity.Name
 WebSecurity.CurrentUserName

结果 -

CORP \ BSMITH

IIS APPPOOL \ SecondaryAppTest

SecondaryAppTest

CORP \ BSMITH

CORP \ BSMITH

这些都不是成功登录的个人用户名“aaa@gmail.com”

的用户名

我还更新了我的web.config,将模拟设置为false,将身份验证模式设置为窗体和窗口。

任何人都可以告诉我如何获得正确的用户名,只要在部署到IIS时成功登录?

非常感谢。

2 个答案:

答案 0 :(得分:0)

我希望link可以成为您的解决方案或者  如果您在观看/共享文件夹下打开 _LoginPartial.cshtml ,您将获得关注" User.Identity.GetUserName()&# 34;以用户名登录。

答案 1 :(得分:0)

如果在iis上部署并配置webconfig <authentication mode="Windows"/>,您将获得计算机名称。 但是,如果您在应用程序中将匿名访问设置为禁用,并且仅在IIS中设置集成Windows身份验证 你得到用户帐户运行asp.net 如果你添加<identity impersonate ="true"/>我认为你得到了窗口帐户名称 我在某个地方读到它只是不记得帖子在哪里。