【发布时间】:2011-10-05 04:06:40
【问题描述】:
我有一个连接到 WCF 服务的 WPF 客户端,我想锁定某些功能,以便只有某些用户可以执行某些操作。 WCF 服务在执行服务方法时模拟客户端用户。操作系统是 Windows XP。
我正在阅读 this question 作为我调查将用户角色应用于我的应用程序功能的最佳方式的一部分(我想将用户分配到 AD 安全组,然后检查 IsInRole),并且担心缓存的权限将允许已减少权限的用户访问他们不再有权访问的功能。相反,我也担心权限升级后的用户需要注销他们的 Windows 帐户,甚至可能需要重新启动 WCF 服务(最坏的情况)才能访问新功能。
确保客户端和服务器都能立即看到对 AD 安全组的更改的最简单方法是什么?
【问题讨论】:
-
角色成员的更改需要一些时间才能传播(包括用户新登录)是很正常的。例如,如果您有主域控制器和辅助域控制器,则同步更改也可能需要很长时间并且用户仍然可以从辅助控制器接收旧权限。
-
@Ladislav Mrnka 我想我将不得不忍受一些延迟,但我特别想避免使用本地缓存的权限(在用户的机器上)。我不知道 WCF 服务是否会在模拟用户时发出自己的请求来检查角色成员身份,或者它是否会从客户端接收这些详细信息以及身份。
标签: c# wcf active-directory wcf-security windows-principal