在使用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时成功登录?
非常感谢。
答案 0 :(得分:0)
我希望link可以成为您的解决方案或者 如果您在观看/共享文件夹下打开 _LoginPartial.cshtml ,您将获得关注" User.Identity.GetUserName()&# 34;以用户名登录。
答案 1 :(得分:0)
如果在iis上部署并配置webconfig <authentication mode="Windows"/>
,您将获得计算机名称。
但是,如果您在应用程序中将匿名访问设置为禁用,并且仅在IIS中设置集成Windows身份验证
你得到用户帐户运行asp.net
如果你添加<identity impersonate ="true"/>
我认为你得到了窗口帐户名称
我在某个地方读到它只是不记得帖子在哪里。