ASP.NET访问客户端Windows凭据

时间:2014-06-25 20:46:43

标签: c# asp.net iis windows-authentication

因此,我几乎整天都在研究这个问题的解决方案,并尝试了许多事情无济于事。首先,让我说明情况。我需要的核心解决方案是在IIS 6.1 Server上托管的站点上访问用户的Windows凭据。关于访问页面和其他基于角色的功能的其他所有内容我已经处理过了。作为旁注,本网站将通过内部网访问,到目前为止主要浏览器IE9。

现在在本地运行项目时,类似于 HttpContext.Current.User.Identity工作正常。

但是,正如问题前提所提到的,当用户访问该站点时,该功能正在返回服务器窗口的凭据而不是用户。 (特别是它返回了类似AppPool \ Project的内容)

所以,我尝试更改IIS服务器设置。我禁用了匿名访问,将应用配置更改为网络服务,启用了Windows身份验证,将NTFM作为主要提供商移动,将网络配置更改为:

           <system.web>
              <authentication mode="Windows"/>
             <identity impersonate="true"/>
           </system.web>

(我尝试将模仿更改为true和false)

我也尝试了不同的方式来返回用户的名字,比如User.Identity,Environment.Name等等。

这是我要避免的:

  • ASP.NET默认基于Windows角色的设置 - 此解决方案在另一个项目中使用,但最终用户不喜欢在他们无法访问页面时接收登录窗口。
  • 更改Internet Explorer设置 - 在我的研究过程中,我看到了一些建议更改受信任站点的解决方案。我没有能力更改此信息,并且想要一个不需要用户修改其IE设置的解决方案(已经为所有用户选中了使用集成Windows凭据的选项)。

如果有人能解决这个问题,我们将不胜感激。

0 个答案:

没有答案