|
|
1
10
在调用Microsoft之后,解决了这个问题:我们没有在主机上运行服务的许多用户上放置“允许验证”权限。所有的文件都提到了必须给你的客户在 机器 您正在访问(在某些情况下包括DC),但没有提到还必须将远程客户机添加到运行服务的主机用户的“安全”选项卡中。 因此,我将用一些人为的用户名、域和计算机名以及一个默认存在的实际服务帐户进行总结。 “A”域:客户端尝试连接的域 “B”域:这是主机所在的域,服务由域A中的用户连接。 client@a:a域中的用户,连接到b域中的服务。 serviceaccount@b:来自b域的用户,该域承载客户@a正在连接的WCF服务。 krbtgt@b:这是一个内置的用户,其描述是“密钥分发中心服务帐户”。只要在“查看”菜单下启用了“高级功能”,它就位于“用户”下的Active Directory用户和计算机下。如果你不这样做,它就不会出现。 B-DC:B域的域控制器 B-host:我们正在连接的WCF服务的主机。 因此,要让客户机@a通过使用sspi/windows身份验证连接到由用户serviceaccount@b在b-host上运行的wcf服务,在具有选择性身份验证的外部信任上,需要执行以下操作:
现在应该可以了。奇怪的是,你只需要运行一个经过Windows身份验证(而不是证书)的WCF连接就可以了,但现在你可以了。您需要将远程用户添加到AD中的四个不同对象中,才能使其正常工作。假设将远程用户添加到域B中具有正确权限的某些域本地组也可以工作,但还没有测试。 编辑:然后让PDC仿真器覆盖krbtgt,在不到一小时的时间内拥有管理员的权限。每小时。 基本上,krbtgt是超级保护的。你必须改变管理员的身份,这会增加很多麻烦。添加“允许验证”的命令是:
如果您想了解“dsacls”工具的功能,请查看它。它对于修改访问控制列表和打印它们都非常方便。实际上比图形用户界面要好。 不管怎样,这实际上是可行的。有完整的答案。 |