2013-03-20 39 views
1

我有一个问题,我与视觉2010帧的工作3.5我的项目是建立在Windows Server 2008中回报名用户机器.NET

问题代码:

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

有了这个代码我的本地主机或视觉,我想获得机器用户名,但它不起作用。在服务器中,返回这样的文字:

.IIS APPPOOL\PROYECTOSIGEV 

PROYECTOSIGEV是项目

回答

2

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

+0

这是哪里选项 ?我找不到 – user1178740 2013-03-20 14:17:35

+0

您是否按照我链接到的页面中的说明操作?有一个标题为“使用UI”的标题,它引导您在IIS上启用Windows身份验证。如果您正在运行IIS 6,请使用此文档(http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/5f8fe119-4095-4094-bba5-7dec361c7afe.mspx?mfr=true)。 – 2013-03-20 14:21:24

+0

嗯我看到thi链接http://technet.microsoft.com/en-us/library/cc754628(v=ws.10).aspx因为我工作iis 7,但不要显示“3.在验证页面,选择Windows身份验证。“选项 – user1178740 2013-03-20 14:44:51

0

我用过;

  • System.Environment.UserName
  • HttpContext.Current.User.Identity.Name.ToLower(新System.Globalization.CultureInfo( “EN-US”,FALSE))