1

我有一个问题,我使用 Visual 2010 框架 3.5 我的项目内置于 Windows Server 2008 中。

问题代码:

System.Security.Principal.WindowsIdentity user = System.Security.Principal.WindowsIdentity.GetCurrent();
string variableUsuario = user.Name.ToUpper();

使用我的本地主机或视觉中的此代码,我想获取机器用户名,但它不起作用。在服务器中,返回此文本:

.IIS APPPOOL\PROYECTOSIGEV 

PROYECTOSIGEV 是项目的名称

4

2 回答 2

2

这是因为 IIS 上的应用程序池是在该标识下运行的。如果您需要获取 Windows 用户名,则需要在应用程序池上启用Windows 身份验证。注意:通过在 IIS 上启用 Windows 身份验证,您无需更改代码。

于 2013-03-20T13:58:44.440 回答
0

我用过;

  • 系统.环境.用户名
  • HttpContext.Current.User.Identity.Name.ToLower(新 System.Globalization.CultureInfo(“en-US”,False))
于 2013-03-20T14:00:46.457 回答