0

我有一个网络应用程序,在 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 等。有人知道如何在不更改设置的情况下获得正确的用户名吗?

4

1 回答 1

0

您将 domain01\username 指定为要模拟的身份。这就是为什么当前用户总是那样。如果您删除配置的身份,您将获得实际登录的用户。

<identity impersonate="true" />

这记录在这里:

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

于 2013-08-13T16:25:56.030 回答