无论谁登录,WindowsIdentity始终返回相同的用户

时间:2014-04-11 13:44:56

标签: c# iis-7 windows-identity

我在安全服务器上运行应用程序(我必须远程访问并且必须将文件通过电子邮件发送给某人,以便将它们放到服务器上,因此在代码中进行更改并不是一个快速的过程。)

服务一度通过

抓取登录用户
OperationContext.Current.ServiceSecurityContext.WindowsIdentity.Name

以前工作得很好,但是现在,无论我是否登录或者我的同事是否登录,用户都是相同的(一些通用的xyz用户)。此用户也恰好是设置的用户,因此我们可以访问站点上的虚拟目录。巧合?

enter image description here

系统工作正常,直到第三方或其他神秘实体(即gremlins)进入系统并改变了一切。

这是一个开发环境,所以我可以改变很多事情而没有后果。有一个类似代码的开发环境可以正常运行(返回正确登录的用户),但该系统是IIS6,而不是IIS 7,因此尝试查找相应的属性和设置一直很困难。

如何找到问题的原因?或者,什么事情可能导致这个问题?

注意: 在web.config中打开了身份验证模式和模拟,并且似乎已为该特定Web应用程序启用

enter image description here

<authentication mode="Windows" />
<identity impersonate="True" />

1 个答案:

答案 0 :(得分:1)

事实证明,“身份”设置为“ApplicationPoolIdentity”,而不是“NetworkService”,将其更改为NetworkService并将“LoadUserProfile”设置为TRUE解决了问题。