【发布时间】:2014-03-06 01:12:26
【问题描述】:
我有一个 ASP MVC 网站,我们称之为网站。还有两个服务Service1和Service2。从网站我调用Service1,从Service1 我调用Service2。在网站中,我使用 Windows 身份验证。我想从具有用户权限的网站调用 Service2。我已经阅读过双重模拟和委托,但我想澄清一些事情。如果我在同一台机器上托管网站和两个服务,我还需要使用委托吗?以及我实际上是如何在 code/web.config 中做到这一点的? 我使用 ((WindowsIdentity)HttpContext.Current.User.Identity).Impersonate() 从 WebSite 调用 Service1,这工作正常,但是当我尝试从 Service1 调用 Service2 时,ServiceSecurityContext.Current.WindowsIdentity.Impersonate() 抛出异常。 那么,我该怎么做呢?
【问题讨论】:
-
我解决了。问题是,我没有将服务的模拟级别设置为模拟。
标签: c# asp.net asp.net-mvc wcf impersonation