繁体   English   中英

Environment.UserName 返回应用程序池名称而不是用户名

[英]Environment.UserName returning application pool name instead of username

以下行

Environment.UserName

在 Visual Studio 的调试模式下,返回我需要的用户身份。

然后,当我在 IIS 中设置我的站点并运行代码时,同一行返回该站点使用的应用程序池的名称。

我怎样才能让它仍然返回用户名?

尝试这样的事情:

if (System.Web.HttpContext.Current.User.Identity.IsAuthenticated)
{
   string username = System.Web.HttpContext.Current.User.Identity.Name;
}

重要说明:您需要配置 IIS 以启用集成安全并禁用匿名登录。

请注意, Environment.Username返回当前线程上的用户名。

尝试使用

Request.ServerVariables["LOGON_USER"]

它将返回DOMAIN\\USERNAME 然后你可以拆分它等等。

这对我有用。 使用 Environment.GetEnvironmentVariable("USERNAME") 作为当前登录用户名。

链接: https : //www.c-sharpcorner.com/uploadfile/puranindia/the-environment-class-in-C-Sharp/

在 IIS 中,对于您的应用程序,请 . 启用 ASP.NET 模拟在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM