1

我有一个 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 中。我应该可以浏览它。

请帮我。

非常感谢。

4

1 回答 1

2

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

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

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

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

于 2012-11-09T09:46:37.410 回答