我正在使用 Active Directory 中的组来管理哪些用户可以访问 TFS 中的项目。我的问题是,即使 AD 在组中显示它们,即使通过 TFS 当我查看谁是组的成员时,它也会显示用户,访问权限不会立即被授予。
我尝试刷新 TFS 的工作进程但没有运气。机器重启(TFS 服务器)似乎可以修复它,但每次更改 AD 时我都无法重新启动源代码管理。
如何让 AD 更频繁地“发现”对 AD 的更改?到目前为止,距离最终发生更改并允许用户进入项目还有不到 24 小时的时间。此外,这发生在 TFS 2005 中,我们升级到 2008,并且仍在发生。
有任何想法吗?
在登录时为用户枚举组成员身份。当您在 AD 中更改用户成员资格时,用户需要注销/登录其计算机才能使更改对用户生效。我猜你提到的“不到 24 小时”是因为他们第二天要回来工作并登录机器。
TFS 缓存 Active Directory 信息,默认设置为每 60 分钟轮询一次 Active Directory。我通过在 C:\Program Files\Microsoft Visual Studio 2008 Team Foundation Server\Web Services\Services\web.config 中添加“IdentityUpdatePeriod”参数来缩短服务器上的时间间隔
当设置为 5 分钟时,我看到与 Active Directory 同步时出现一些错误,因此我将其更改为每 15 分钟运行一次(并且仍然偶尔会看到错误......但至少我不必告诉用户等待一小时)
前:
后: