Настройка Membership API в IIS 8
51ASP.NET --- Безопасность в ASP.NET --- Настройка Membership API в IIS 8
Консоль управления IIS 8 включает полный набор административных инструментов для конфигурирования ASP.NET Membership API и поставщиков членства. Более того, поскольку Membership API используется в сочетании с аутентификацией с помощью форм ASP.NET, интерфейс Membership API можно также применять с веб-приложениями, построенными не на ASP.NET - например, приложениями классического ASP или PHP.
Конфигурирование поставщиков и пользователей
Первым шагом в использовании Membership API после настройки аутентификации с помощью форм является конфигурирование поставщика членства. Для этой цели консоль управления IIS 8 предоставляет новое средство конфигурирования Providers (Поставщики) в разделе категории .NET. показанное на рисунке ниже:
Как видите, эта оснастка позволяет выбирать разные средства в раскрывающемся списке в верхней части экрана. Доступные для выбора средства отображаются на соответствующих поставщиков в ASP.NET. Подобным образом можно конфигурировать пользователей, роли и профили непосредственно в консоли управления IIS (роли, профили и авторизация подробно описаны позже).
Например, средство .NET Users (Пользователи .NET), выбранное в раскрывающемся списке как показано на рисунке выше, отображается на поставщика членства, ответственного за управление пользователями веб-приложения. Чтобы добавить нового поставщика, просто щелкните на ссылке Add (Добавить) в панели задач в правой части консоли управления. Откроется диалоговое окно, которое позволит выбрать тип поставщика, поддерживаемого как исполняющей средой, так и вашим приложением, если есть классы специальных поставщиков, развертываемые вместе с ним.
На рисунке ниже показано диалоговое окно конфигурирования поставщика для приложения:
Это диалоговое окно позволяет сконфигурировать большинство часто используемых свойств, включая свойство applicationName, что влияет на ассоциацию объектов в базе данных членства с выделенным приложением, если база данных разделяется между множеством приложений.
После успешного конфигурирования поставщика для вашего средства (такого как .NET Users) можно приступать к работе с другими административными средствами консоли управления. Например, можно добавлять и удалять пользователей непосредственно внутри консоли управления IIS с помощью средства .NET Users, показанного на рисунке ниже:
В этой конфигурации консоль управления IIS 8 применяет Membership API для извлечения и отображения всех доступных пользователей, создания новых пользователей, модификации пользователей, переустановки пользовательских паролей и удаления пользователей.
Использование Membership API с другими приложениями
Как было показано в статье «Настройка аутентификации в IIS 8» аутентификацию с помощью форм можно использовать с любым веб-приложением, сконфигурированным в IIS 8, при запуске IIS в интегрированном режиме ASP.NET.
Это также означает возможность использования Membership API с любым веб-приложением (вроде приложений классического ASP или PHP) и конфигурирования поставщиков членства для пользователей .NET, а также самих пользователей .NET. На рисунке ниже показана страница каталога приложения PHP которую мы создали ранее:
Теперь просто сконфигурируйте поставщика членства через консоль управления IIS, как было описано в предыдущем разделе, и в результате Membership API будет использоваться вместе с аутентификацией с помощью форм и страницей PHP. По окончании конфигурирования файл web.config выглядит, как показано ниже:
<configuration>
<system.web>
<membership>
<providers>
<add name="TestMembershipProvider" type="System.Web.Security.SqlMembershipProvider"
applicationName="classic" connectionStringName="LocalSqlServer"
enablePasswordReset="false" enablePasswordRetrieval="false"
passwordFormat="Clear"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="false" />
</providers>
</membership>
</system.web>
<system.webServer>
<modules>
<remove name="FormsAuthentication" />
<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule"
preCondition="" />
</modules>
</system.webServer>
</configuration>
Подобным образом можно интегрировать Membership API в любое другое веб-приложение, сконфигурированное на IIS 8. При желании это обеспечивает унификацию инфраструктуры аутентификации для всех веб-приложений.