如何在asp.net中获取当前登录用户名?

时间:2013-08-13 15:45:46

标签: asp.net iis

我有一个网络应用,在web.config中,我有以下设置:

<authentication mode="Windows"/>
<identity impersonate="true" userName="domain01\user01" password="***"/>

我将应用程序部署到Windows 2008(IIS 7),应用程序池的标识是domain01 \ user01,在应用程序的身份验证中,我有以下设置:

Anonymous Authentication    Disabled
ASP.NET Impersonation   Enabled
Basic Authentication    Disabled
Digest Authentication   Disabled
Forms Authentication    Disabled
Windows Authentication  Enabled

现在我需要获取当前登录计算机的用户名,可以是具有不同域的任何授权用户。但无论我多累,我总是得到模拟用户domain01 \ user01。我试过,HttpContext,WindowsIdentity等。有谁知道如何在不改变我的设置的情况下获得正确的用户名?

1 个答案:

答案 0 :(得分:0)

您指定domain01 \ username作为您要模拟的标识。这就是当前用户始终如此的原因。如果删除配置的标识,您将获得实际登录用户。

<identity impersonate="true" />

这里记录在案:

http://msdn.microsoft.com/en-us/library/xh507fc5(v=vs.85).aspx