Настройка FBA (Form-based authentication) в SharePoint 2013 (Часть 2 - Настройка соединения с БД)
Часть 2 – Настройка соединения с БД
Сейчас у нас создана пустая база данных для учётных записей пользователей. Для добавления учётных записей можно использовать несколько вариантов. Можно установить SharePoint 2013 FBA Pack и управлять аккаунтами из SharePoint, в таком случае эту часть статьи можно пропускать и переходить сразу к Части 3. Другой вариант – управлять учётными записями через IIS.
В IIS, мы создадим макет сайта для управления аккаунтами.
- Открываем “Диспетчер служб IIS”
- Слева на панели разворачиваем узел с именем сервера
- Правой кнопкой мыши кликаем на “сайты” и выбираем “Добавить веб-сайт…”
- Появляется диалоговое окно. В поле “Имя сайта” пишем имя, например, “MembershipConfig”. В “Физический путь” указываем путь до заранее созданной пустой папки, где будут храниться файлы. В поле “Port” пишем любой неиспользуемый порт. Кликаем “OK”.
- В Диспетчере служб IIS переходим на вкладку “Пулы приложений”. Здесь должен появиться одноимённый пул приложений только что созданного сайта. Если у Вас более ранняя версия операционной системы, чем Windows Server 2012, то Вам надо изменить Версию среды CLR .NET на v2.0 для этого пула.
- Также нам надо изменить поле “Удостоверение” на ту учётную запись, которая используется для SharePoint, и которой мы дали права на чтение и запись в базу данных аккаунтов. Выбираем наш пул приложений и кликаем правой кнопкой мыши по нему, заходим в “Дополнительные параметры…”. Кликаем в диалоговом окне на поле “Удостоверение”. Далее выбираем “Особая учётная запись” и жмём “Установить”. Вводим Имя пользователя и Пароль в соответствующих полях, затем жмём “OK”.
- Теперь в поле “Удостоверение” мы видим нужную нам учётную запись. Кликаем “OK”
- Затем надо создать соединение с базой данных учётных записей. Выбираем наш новый сайт “MembershipConfig” на панели слева, далее открываем “Строки подключения”.
- На странице “Строки подключения” на панели справа жмём “Добавить…”. Открывается диалоговое окно, в нём вводим Имя (например, “FBADB”), вводим имя сервера базы данных в поле “Сервер” и имя базы данных с учётными записями в поле “База данных”. Выбираем “Использование встроенной системы безопасности Windows”. Кликаем “OK”.
- Теперь нам нужно создать провайдера, с помощью которого мы сможем редактировать пользователей в нашей базе данных аккаунтов. Выбираем наш сайт в Диспетчере служб IIS слева на панели и в окне “Просмотр возможностей” кликаем на “Поставщики” (если здесь нет кнопок “Поставщики”, “Пользователи .NET”, “Роли .NET”, то неверно выбрана версия .Net для Вашей операционной системы. Если версия системы более ранняя чем Windows Server 2012, то надо изменить “Версию среды CLR .NET” для пула приложений этого сайта на “v2.0”).
- На странице “Поставщики” из всплывающего меню “Функция” выбираем “Пользователи .NET”.
- На панели справа нажимаем “Добавить…”. В диалоговом окне в поле “Тип” выбираем “SqlMembershipProvider”, ниже пишем Имя, например, “FBAMembershipProvider”. В поле “ConnectionStringName” выбираем недавно созданное соединение. Затем выбираем необходимые опции, более детально они будут разобраны в следующей части, когда мы будем настраивать провайдера для SharePoint. НО выбранные здесь опции должны совпадать с теми, которые мы выберем при настройке провайдера для SharePoint. У меня опции включены следующим образом:
- EnablePasswordReset – True;
- EnablePasswordRetrieval - False;
- RequiresQuestionAndAnswer – False;
- RequiresUniqueEmail – True;
- StorePasswordInSecureFormat – True.
- кликаем “OK”.
- Далее в Диспетчере служб IIS в окне “Просмотр возможностей” для нашего сайта “MembershipConfig” кликаем на “Пользователи .NET”
- На этом этапе может появиться ошибка из-за неверного поставщика, закрываем окно ошибки.
- На панели справа щёлкаем “Задать поставщик по умолчанию…”. При появлении диалогового окна выбираем только что созданного нами провайдера и жмём “OK”.
- Теперь когда выбран основной провайдер мы видим пустой список пользователей “Пользователи .NET”, так как у нас нет ни одной записи в нашей базе данных “aspnetdb”. В этом же окне на панели справа кликаем по кнопке “Добавить…”. В появившемся диалоговом окне вводим Имя пользователя, которого хотим создать, вводим Электронную почту, Пароль и Подтверждение пароля, оставшиеся поля можно не заполнять. Я создал пользователя “FBAAdministrator”, который будет администратором сайт-коллекции в SharePoint. Жмём “OK” для создания пользователя.
- Теперь в списке “Пользователи .NET” мы видим только что созданного нами пользователя. Если Вы собираетесь использовать роли в SharePoint, то по аналогии создаём поставщика ролей на странице “Поставщики” для нашего сайта. Затем на странице “Роли .NET” добавляем роль.
Опубликовано: 07.04.2015
Автор: Владислав Иванов