c# – Request.ServerVariables [“LOGON_USER”]与Request.LogonUserIdentity

c# – Request.ServerVariables [“LOGON_USER”]与Request.LogonUserIdentity,第1张

概述我试图从ASP.Net应用程序的调用者那里获取当前的 WindowsIdentity而不进行模拟. 阅读一些文章后,我的设置是: >在我的IIS中,我在身份验证设置中启用了Windows身份验证 >在我的web.conf中,我将身份验证模式设置为“Windows” 出于测试目的,我编写了以下日志语句 m_techLogger.Warn(string.Format("Request[LOGON_US 我试图从ASP.Net应用程序的调用者那里获取当前的 WindowsIDentity而不进行模拟.

阅读一些文章后,我的设置是:

>在我的IIS中,我在身份验证设置中启用了windows身份验证
>在我的web.conf中,我将身份验证模式设置为“windows”

出于测试目的,我编写了以下日志语句

m_techLogger.Warn(string.Format("Request[logoN_USER] {0}",Request["logoN_USER"]));m_techLogger.Warn(string.Format("Request.logonUserIDentity {0}",Request.logonUserIDentity.name));m_techLogger.Warn(string.Format("httpContext.Current.User.IDentity {0}",httpContext.Current.User.IDentity.name));m_techLogger.Warn(string.Format("windowsIDentity.GetCurrent() {0}",windowsIDentity.GetCurrent().name));

这些陈述返回以下内容

2015-04-23 10:47:19,628 [7] WARN  - Request[logoN_USER] DOMAIN\User2015-04-23 10:47:19,681 [7] WARN  - Request.logonUserIDentity NT AUTHORITY\SYstem2015-04-23 10:47:19,681 [7] WARN  - httpContext.Current.User.IDentity NT AUTHORITY\SYstem2015-04-23 10:47:19,681 [7] WARN  - windowsIDentity.GetCurrent() NT AUTHORITY\SYstem

我知道windowsIDentity.GetCurrent().name返回系统用户.我不明白为什么Request.logonUserIDentity和Request [logoN_USER]的输出不同.我需要来自User的windowsIDentity对象,其名称由Request [logoN_USER]返回.

任何人都能指出我正确的方向吗?

解决方法 当我尝试同样的时候,我得到了
Request.logonUserIDentity.name  "DOMAIN\accountname"   (no cAPItal letter)    Request["logoN_USER"]   "DOMAIN\Accountname"   (cAPItal letters)

为了在我们的asp.net应用程序中获取当前用户,我使用了这行代码

User.IDentity.name

这有什么用?

总结

以上是内存溢出为你收集整理的c# – Request.ServerVariables [“LOGON_USER”]与Request.LogonUserIdentity全部内容,希望文章能够帮你解决c# – Request.ServerVariables [“LOGON_USER”]与Request.LogonUserIdentity所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1243222.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存