Медленная работа UserPicker в мультидоменной среде MOSS 2007.

Элемент управления выбора пользователей является одним из наиболее важных компонентов платформы MOSS 2007.

image

Не  для кого не секрет, что иногда возникают дополнительные требования к работе данного компонента, такие как:

  • Ограничение возможности выбора пользователей доменом или лесом;
  • Ускорение работы кнопки проверки имени (Check Names).

Первая проблема с успехом лечится с помощью команды:

stsadm -o setproperty -url https://<server:port> -pn peoplepicker-searchadforests -pv "forest:contoso.corp.com;domain:bar.contoso.corp.com", <LoginName>, <Password>

Вторая проблема сложнее, т.к. по каким-то причинам вышеперечисленная команда не влияет на эту кнопку в этом элементе управления, что приводит к тайм-аутам:

image

Для решения этой проблемы можно рекомендовать способ, который позволяет запретить непосредственный ввод значений пользователем.

Для этого нужно:

  • Перейти в каталог C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\CONTROLTEMPLATES\ ;
  • Открыть файл DefaultTemplates.ascx;
  • Найти строку <SharePoint:RenderingTemplate ID="UserField" runat="server"> ;
  • Изменить строку <SharePoint:PeopleEditor ID="UserField" runat="server" ValidatorEnabled="true" /> на <SharePoint:PeopleEditor ID="UserField" runat="server" ValidatorEnabled="true" AllowTypeIn=”False” />.

Готово. Теперь хотя пользователь не сможет вводить имена пользователей напрямую, это не будет вызывать тайм-аут обработки запроса.

Выбирайте то, что в Вашем случае важнее.

Описание свойства можно найти здесь.