Назад | Перейти на главную страницу

TFS и Active Directory - членство в группах не попадает в TFS своевременно

Я использую группы в Active Directory для управления доступом пользователей к проектам в TFS. Моя проблема в том, что, хотя AD показывает их в группе, и даже через TFS, когда я смотрю, кто является членом группы, он показывает пользователю, что доступ не предоставляется сразу.

Я попытался обновить рабочий процесс для TFS, но безуспешно. Перезагрузка машины (сервер TFS), похоже, решает эту проблему, но я не могу перезапускать систему управления версиями каждый раз, когда вношу изменения в AD.

Как сделать так, чтобы AD чаще «обнаруживал» изменения в AD? На данный момент прошло немного меньше 24 часов, прежде чем изменения, наконец, произойдут и пользователи будут допущены к проекту. То же самое происходило с TFS 2005, мы обновились до 2008, и это все еще происходит.

Любые идеи?

Членство в группах перечисляется для пользователя при входе в систему. Когда вы вносите изменения в членство пользователей в AD, пользователю необходимо выйти из системы или войти в систему, чтобы изменения вступили в силу для пользователя. Я предполагаю, что вы упомянули «менее 24 часов» из-за того, что они возвращаются на работу на следующий день и входят в систему.

TFS кэширует информацию Active Directory и по умолчанию настроен на опрос Active Directory каждые 60 минут. Я уменьшил интервал на моем сервере, добавив параметр «IdentityUpdatePeriod» в C: \ Program Files \ Microsoft Visual Studio 2008 Team Foundation Server \ Web Services \ Services \ web.config

Я видел некоторые ошибки при синхронизации с Active Directory, когда он был установлен на 5 минут, поэтому я изменил его так, чтобы он запускался каждые 15 минут (и все равно время от времени вижу ошибки ... но, по крайней мере, мне не нужно говорить пользователям, чтобы они подождали. час)

Перед:

  <appSettings>
    <add key="ConnectionString" value="Data Source=[TFS_DATA_TIER_SERVER]\tfs;Initial Catalog=TfsIntegration;Integrated Security=True;Persist Security Info=False;Application Name=TeamFoundation" />
    <add key="eventingEnabled" value="true" />
    <add key="DetailedExceptions" value="false" />
    <add key="emailNotificationFromAddress" value="DoNotReply_TFS@company.com" />
    <add key="smtpServer" value="[smtp_server]" />
  </appSettings>

После:

  <appSettings>
    <add key="ConnectionString" value="Data Source=[TFS_DATA_TIER_SERVER]\tfs;Initial Catalog=TfsIntegration;Integrated Security=True;Persist Security Info=False;Application Name=TeamFoundation" />
    <add key="eventingEnabled" value="true" />
    <add key="DetailedExceptions" value="false" />
    <add key="emailNotificationFromAddress" value="DoNotReply_TFS@company.com" />
    <add key="smtpServer" value="[smtp_server]" />
    <add key="IdentityUpdatePeriod" value="0:15:0"/>
  </appSettings>