MGS*_*oto 3 .net c# security impersonation wcf
我有一个用C#编写的WCF服务托管在远程机器上,作为本地管理员帐户运行.从我作为活动目录用户登录的计算机,我发送的命令只是告诉它在网络上打开一个文件.我有权访问该文件,但主机上的管理员帐户却没有.我在需要模拟的方法上使用[OperationBehavior(Impersonation = ImpersonationOption.Required)]元标记,并且我正确设置了凭据类型和安全模式.我可以通过比较Windows身份来验证帐户确实是在冒充,但我仍然会获得访问被拒绝的异常.我认为这与活动目录有关,而不是对模拟用户进行身份验证.有什么我想念的吗?
您正在进入Kerberos安全域和两个跃点身份验证.
您有两种选择:
拿红色药丸:尝试让两个啤酒花认证工作.确保您至少拥有一个Windows Server 2003域,在所有计算机之间正确同步的时间,并为特定用户/计算机帐户设置正确的委派.如果你真的"幸运",你将不得不使用SetSPN配置SPN.
拿蓝色药丸:忘记两次啤酒花 - 身份验证,在具有足够权限的帐户下模拟WCF服务,并在之前的步骤中检查授权.
请原谅我的挫败感,但我认为我对这个话题的简短经验至少花了我10年的生命.我讨厌看到发生在其他任何人身上.无论如何,如果你感到勇敢,这篇文章应该会给你足够的谷歌关键词.
事件日志和网络监视器对于调试很有用......