C# 托管ASP.Net应用程序中无法区分的用户
我正在使用Windows身份验证的托管ASP.Net应用程序上工作,我需要获取各种个性化任务的用户名。主机上的目录设置为具有Windows身份验证,并且C# 托管ASP.Net应用程序中无法区分的用户,c#,asp.net,security,C#,Asp.net,Security,我正在使用Windows身份验证的托管ASP.Net应用程序上工作,我需要获取各种个性化任务的用户名。主机上的目录设置为具有Windows身份验证,并且web.config文件还具有:- <authentication mode="Windows"> </authentication> 感谢你的回答,以及其他。所有这些都无法区分输入的各种用户名 我是否可以在代码中尝试其他方法来获取名称(或名称的代理)?有什么我可以在web.config中查看的吗?或者,如果我需要与主持
web.config
文件还具有:-
<authentication mode="Windows">
</authentication>
感谢你的回答,以及其他。所有这些都无法区分输入的各种用户名
我是否可以在代码中尝试其他方法来获取名称(或名称的代理)?有什么我可以在web.config
中查看的吗?或者,如果我需要与主持人讨论这件事,我可以问一些明智的问题吗
编辑我已使用主机的IIS对话框设置了应用程序目录和.Net版本。您需要将IIS设置为仅使用Windows身份验证,然后使用Page.User.Identity.Name或类似工具获取Windows用户名
在“身份验证”窗格中,将Windows身份验证设置为启用并禁用匿名身份验证。您是使用IIS托管的吗?@Amber,是的,我想是的。您应该检查IIS管理器中是否只启用了Windows身份验证。因为它目前使用的是“网络服务”,这可能是应用程序池设置。这里有更新吗?我遇到了类似的问题,我已经检查过Windows身份验证是唯一设置为true的选项。@beaudetious,很抱歉没有。客户退后了,所以我从那以后就没碰过它。
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 ''