7

以下行

Environment.UserName

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

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

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

4

4 回答 4

5

尝试这样的事情:

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

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

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

于 2014-01-14T10:52:19.410 回答
2

尝试使用

Request.ServerVariables["LOGON_USER"]

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

于 2014-01-14T10:52:33.067 回答
2

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

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

于 2018-04-09T13:28:22.723 回答
0

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

于 2020-07-10T18:30:39.800 回答