2
我正在使用Windows身份验证托管ASP.Net应用程序,我需要获取各种个性化任务的用户名。在主机上的目录设置为具有Windows身份验证和web.config
文件还具有: -用户在托管ASP.Net应用程序中难以区分
<authentication mode="Windows">
</authentication>
它
。我曾尝试在应用程序中的各种方法,结果如下,以获取用户名: -
Source Result
System.Web.HttpContext.Current.Request.LogonUserIdentity.Name 'EZ\urlname_a'
System.Environment.UserName 'NETWORK SERVICE'
System.Web.HttpContext.Current.User.Identity.Name ''
this.Request.ServerVariables["LOGON_USER"] ''
this.Request.ServerVariables["AUTH_USER"] ''
this.User.Identity.Name ''
感谢答案here,here,并here,等等。这些都不能区分输入的各种用户名。
还有什么我可以尝试在代码中获取名称(或名称的一些代理)?有什么我可以检查在web.config
?或者,如果我需要与主持人讨论这个问题,我是否可以提出任何明智的问题?
编辑我已经使用主机的IIS对话设置了应用程序目录和.Net版本。
你是否使用IIS托管? – Amber
@琥珀,是的,我相信。 –
您应该检查您是否仅在IIS管理器中启用Windows身份验证。因为它目前使用'网络服务'(推测)应用程序池设置。 – Amber