如何在客户端获取当前登录的Windows用户ID

时间:2012-11-09 09:37:12

标签: asp.net windows permissions login-name

我有一个Web应用程序,如果用户的Windows登录名在web配置的应用程序设置中,则允许用户访问这些页面。

例如: 登录用户名:SampleDomain \ SampleUser

在Web.config上:

<appSettings>
    <add key=AuthorizedUsers value="SampleUser,SampleBooger" />
</appSettings>
<authentication mode="Windows"/>

* 成功案例:SampleUser应该能够浏览网站。

我能够在开发过程中成功(在我的机器上本地),但是当我将它部署到服务器时,我尝试从我的本地机器浏览它,它获得的Windows登录是NT AUTHORITY \ NETWORK SERVICE所以它重定向到我的自定义错误页面。我,SampleUser,我在AuthorizedUsers。我应该可以浏览它。

请帮帮我。

非常感谢。

1 个答案:

答案 0 :(得分:2)

您需要使用ASP.NET模拟功能。 使用模拟时,ASP.NET应用程序可以使用发出请求的用户的Windows身份(用户帐户)执行。模拟通常用于依赖Microsoft Internet信息服务(IIS)对用户进行身份验证的应用程序。

可以使用以下代码在Web配置中配置此类行为:

<configuration>
  <system.web>
    <identity impersonate="true"/>
  </system.web>
</configuration>

更多信息:http://msdn.microsoft.com/en-us/library/xh507fc5%28v=vs.100%29.aspx

相关问题