gpt4 book ai didi

c# - 托管 ASP.Net 应用程序中的用户无法区分

转载 作者:太空宇宙 更新时间:2023-11-03 13:30:43 29 4
gpt4 key购买 nike

我正在开发一个托管的 ASP.Net 应用程序,使用 Windows 身份验证,我需要为各种个性化任务获取用户名。主机上的目录设置为具有 Windows 身份验证,并且 web.config 文件还具有:-

<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 设置为仅使用 Windows 身份验证,然后使用 Page.User.Identity.Name 或类似的方法来获取 Windows 用户名。

在身份验证 Pane 中,将 Windows 身份验证设置为已启用并禁用匿名身份验证。

关于c# - 托管 ASP.Net 应用程序中的用户无法区分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20662244/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com