因此,我几乎整天都在研究这个问题的解决方案,并尝试了许多事情无济于事。首先,让我说明情况。我需要的核心解决方案是在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等等。
这是我要避免的:
如果有人能解决这个问题,我们将不胜感激。