ADAM (Active Directory Application Mode В) Нестандартная Роль поставщика
Введение к стандарту Роль поставщика ADAM
ADAM (Active Directory Application Mode о) становится все более распространенным для компаний, которые хотят осуществить в полулегком протокола каталог для использования в их среде SharePoint. С ADAM, создание на основе ролей принципов общей безопасности, поскольку это является расширяемой архитектуре, которая обеспечивает преимущества Active Directory без управления и осуществления воздушных, а также позволяет концепцию обязательного роли операций, что является очень полезным функцию, так как за действующего как роль и хранения пользовательских данных, например ADAM может стать двигателем с помощью которых можно запустить смешанной, интегрированные SharePoint и различные среды применения. Аз роль поставщика ограничивает пользователей, которые можно интегрировать с LDAP подключаемых поставщика тем, чтобы решать материальные личности окна (она должна быть учетная запись домена), которое, конечно, является проблемой для людей, которые желают использовать только те пользователи, ADAM. С увеличением поддержки ADAM в SharePoint 2007, требование от клиентов стало еще более распространенным и для некоторых, отсутствие поддержки роли стала поводом для беспокойства.
Потребность в роли поставщика
В других статьях на сайте (в частности, здесь ) были подробные объяснения, которые выходят в использовании AvtiveDirectoryMembershipProvider в среде SharePoint, и, как это сделать, и этот провайдер действительно невероятно центральной при осуществлении ADAM в среде SharePoint для авторизации пользователей. Тем не менее, необходимые для реализации пользовательского поставщика, которая будет поддерживать те же функции типа роль, которая доступна для других поставщиков тех же пользователей ADAM, позволяющее обойти ограничения, которые поддерживают только определению ролей фактические учетные записи домена.
Провайдер, который поставляется с экземпляра по умолчанию ADAM является AuthorizationStoreRoleProvider, что пары с функциональностью, предоставляемой Авторизация Manager. Фактические связи происходит с первичного взаимодействия (microsoft.interop.security.azroles.dll), которая является объектом COM (обсуждается в ближайшее время), импортируемые из библиотеки типов AZROLESLib. Функции принадлежности ADAM с последних версий ADAM поддерживает и хранения принципы без разрешения в Windows тождества работает отлично.
Роль поставщика Функциональность
Существуют различные слои поддерживаемых функций, которые существуют в поставщика по умолчанию роль, которую распространяются в пользовательском поставщика, который доступен здесь. Примечательно, что AddUsersToRoles, CreateRole, DeleteRole, FindUsersInRole, GetAllRoles, GetRolesForUser, GetUsersInRole, IsUserInRole, RemoveUsersFromRoles, RoleExists, а также другие функции более низкого уровня, как получить имена применения. Большинство методов, которые находятся в роли поставщика ADAM должен походить на другие поставщики, которые должны быть построены в целях поддержки транзакций базы данных из других источников, будь то Oracle, плоский текст, DB2, Informix или поставщик ADAM роль будет иметь несколько характеристик, то же самое.
Есть несколько важных лучших концепций, которые должны быть рассмотрены с поставщиком роль ADAM. Во-первых, принять концепцию применения имя во внимание, в данном случае это делается с помощью ссылки на приложение ADAM, который, в свою очередь предоставляют методы, которые необходимы для того, чтобы разговаривать переключаться между поставщиком роль и хранилище ADAM серверная часть, Это важно для того, чтобы позволить сегрегации точек данных, предоставляемых имя приложения, чтобы несколько векторов может существовать. Поскольку несколько приложений могут существовать, используемых услуг, атрибут может быть выражена determinably поставщика функциональность. Если в конфигурационных файлах применения имя не указано, то имя приложения по умолчанию как это определено. NET Framework. Это может быть продлен при освоении концепции ADAM областей применения, которые позволяют развернутом еще больше.
Поскольку объемы много реже, чем объемы, позволяет увидеть краткий обзор на получение имени приложения.

Первое, что мы должны делать это инициализировать новый объект AuthorizationStore по телефону новые AzAuthorizationStoreClass (). После, мы должны получить значения, что мы требуем от конфигурации разделов (строки соединения, которые указаны), а затем вызвать OpernApplication () из microsoft.interop.security.azroles.dll и вернуть имя приложения.
Во-первых, есть понятие, что поставщик будет наследовать от базового класса RoleProvider, которое проистекает из самой имен System.Web.Security. В отличие от других концепций, представленных на сайте, таких как использование Фасад модели (заводской модели, которые разрабатывают общий интерфейс для предоставления определенного набора функций, см. здесь) для транзакционных взаимодействия поставщика, поставщик ADAM роль чуть более конкретным, то есть, в отличие от базы данных завода модели, которые являются абстрактными методами представил на самом деле конкретный по своей природе.
Роль поставщиков довольно легко писать и выполнять, потому что они, как правило, только закрытых или абстрактных классов, а также параметры, которые массируют очень упрощенно, они роль имен, и пользователи, которые связаны с этими именами роль. Есть несколько методов, которые всегда должны быть реализованы, а другие, что, хотя могут быть рассмотрены дополнительно, тем не менее, очень важно.

В качестве примера, давайте рассмотрим наиболее очевидный способ, создание ролей. Это делается с помощью CreateRole методы, которые будут просто создать новую роль в бэкэнд хранилище. Есть, конечно, ряд условий, которые должны быть проверены перед подключением к хранилищу ADAM, что обеспечивает прежде чем вы фактически создать новую роль, перед выполнением совершения действия. Во-первых, изучить условия незаконного характера, а второй в том, что имя роли во-первых, не существует. Проверка ли именем уже существует может быть достигнуто лишь путем итерации доступных ролей и определения того, что roleNames возвращаются соответствующие тем, которые проходили в качестве параметра:

Второе условие, чтобы проверить, является ли Есть недопустимые символы, которые находятся в роли названия. Это можно сделать, если делать заявления и использования IndexOf для того, чтобы рассказать ли принят в строку символов, действительно в роли названия. Только один, который технически незаконными с ролью поставщика фактически запятой, однако если у вас есть стандарты, которые необходимо осуществить в целях обеспечения соответствия требованиям имя роли, вы можете использовать тот же тип техники.

После условия, настал момент, когда вы действительно сможете добавить той роли, которую вы хотите.
Методы, которые нужны, как вы можете видеть, довольно просты и легко осуществить, хотя эта статья не была подробно их всех, Есть некоторые центральные понятия, которые должны быть охвачены. 
Конфигурация элементов
Как и с другими поставщиками, которые осуществляются для вашей среды SharePoint, один из самых важных изменений, которые вы сделаете элементы конфигурации для веб-приложений. Это осуществляется в двух разных местах, строки соединения элементов, с тем, что соединение LDAP можно сделать и в разделе роль менеджера, который будет указан тип поставщика, ссылки на настройки строки соединения, а также применение имя, поскольку это поможет определить объемы для бизнес-приложений.
Первым из них является для настройки конфигурации строку, которая будет определять соединения, которые вносятся в хранилище данных ADAM.
- <ConnectionStrings>
- ConnectionString =
- "LDAP: / / ADAM.sharepointsecurity.com / OU = Пример, DC = sharepointsecurity, DC = COM" />
Второе это для того, чтобы Role Manager, установить по умолчанию поставщика к поставщику роль ADAM, а затем установить имя приложения в конфигурации элементов. Имя типа пользовательское имя поставщика ролей, в данном случае ARB.ADAM.RoleProvider.
- <RoleManager включен = "истинной" defaultProvider = "directoryProvider">
- <Поставщиками>
- <Четкие />
- <Добавить имя = "ADAMRoleProvider" Тип = "ARB.ADAM.RoleProvider" connectionStringName = "ADAMStoreConnection" ApplicationName = "SharePoint" />
Комментариев нет »
Комментариев нет.
RSS канал для комментариев на эту должность. TrackBack URL































