Spec-Zone .ru
спецификации, руководства, описания, API

21.2.4.2. Учебное руководство: MySQL, Connector/Net ASP.NET Членство и Ролевой Провайдер

Много веб-сайтов обладают средством для пользователя, чтобы создать учетную запись пользователя. Они могут тогда зарегистрировать в веб-сайт и наслаждаться персонализированным опытом. Это требует, чтобы разработчик создал таблицы базы данных, чтобы хранить пользовательскую информацию, наряду с кодом, чтобы собрать и обработать эти данные. Это представляет бремя на разработчике, и есть возможность для вопросов безопасности, чтобы ползать в разработанный код. Однако, ASP.NET 2.0 представлял систему Членства. Эта система разрабатывается вокруг понятия Членства, Профиля и Ролевых Провайдеров, которые вместе обеспечивают всю функциональность, чтобы реализовать пользовательскую систему, которая ранее, должно быть, была создана разработчиком с нуля.

В настоящий момент MySQL, Connector/Net, обеспечивает Членство, Роль, Профиль и Провайдеров Состояния сеанса.

Это учебное руководство показывает Вам, как установить Ваше ASP.NET веб-приложение, чтобы использовать MySQL Провайдеры Членства и Роли Connector/Net. Это предполагает, что Вам устанавливали MySQL Server, наряду с MySQL и Microsoft Visual Studio Connector/Net. Это учебное руководство было протестировано с MySQL, Connector/Net 6.0.4 и Microsoft Visual Studio 2008 Professional Edition. Рекомендуется, чтобы Вы использовали 6.0.4 или выше для этого учебного руководства.

  1. Создайте новую базу данных в MySQL Server, используя программу MySQL Command-Line Client (mysql), или другой подходящий инструмент. Не имеет значения, какое имя используется для базы данных, но запишите это. Вы определяете это в строке подключения, созданной позже в этом учебном руководстве. Эта база данных содержит таблицы, автоматически составленные для Вас позже, используемый, чтобы хранить данные о пользователях и ролях.

  2. Создайте новое ASP.NET Веб-сайт в Visual Studio. Если Вы не уверены, как сделать это, обратитесь к Разделу 21.2.4.6, "Учебное руководство: Привязка данных в ASP.NET Используя LINQ на Объектах", который демонстрирует, как создать простое ASP.NET веб-сайт.

  3. Добавьте Ссылки на MySql.Data и MySql.Web к проекту веб-сайта.

  4. Расположитесь machine.config файл на Вашей системе, которая является конфигурационным файлом для Платформы.NET.

  5. Ищите machine.config файл, чтобы найти провайдера членства MySQLMembershipProvider.

  6. Добавьте атрибут autogenerateschema="true". Соответствующий раздел должен теперь напомнить следующий (примечание: ради краткости некоторая информация была исключена):

    <membership> <providers>   <add name="AspNetSqlMembershipProvider"      type="System.Web.Security.SqlMembershipProvider"      ...      connectionStringName="LocalSqlServer"      ... />   <add name="MySQLMembershipProvider"      autogenerateschema="true"      type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.0.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"      connectionStringName="LocalMySqlServer"      ... /> </providers></membership>

    Отметьте, что имя для строки подключения, которая будет использоваться, чтобы соединиться с сервером, который содержит базу данных членства, LocalMySqlServer.

    autogenerateschema="true" атрибут заставит MySQL, Connector/Net тихо создавать, или обновлять, схема на сервере базы данных, содержать необходимые таблицы для того, чтобы хранить информацию членства.

  7. Теперь необходимо создать строку подключения, на которую ссылаются в предыдущем шаге. Загрузите веб-сайт web.config файл в Visual Studio.

  8. Определите местоположение отмеченного раздела <connectionStrings>. Добавьте следующую информацию о строке подключения:

    <connectionStrings>  <remove name="LocalMySqlServer"/>  <add name="LocalMySqlServer"       connectionString="Datasource=localhost;Database=users;uid=root;pwd=password;"       providerName="MySql.Data.MySqlClient"/></connectionStrings>

    Определенная база данных является той, создаваемой в первом шаге. Вы, возможно, альтернативно использовали существующую базу данных.

  9. В этой точке создают решение гарантировать, что никакие ошибки не присутствуют. Это может быть сделано выбором, Создают, Создают Решение из главного меню, или нажимающий F6.

  10. ASP.NET поддерживает понятие локально и удаленно аутентифицируемые пользователи. С локальной аутентификацией пользователь проверяется, используя их учетные данные Windows, когда они пытаются получить доступ к веб-сайту. Это может быть полезно в среде Интранет. С удаленной аутентификацией пользователь запрашивается их данные для входа в систему, получая доступ к веб-сайту, и эти учетные данные проверяются по информации членства, хранившей в сервере базы данных, таком как MySQL Server. Вы будете теперь видеть, как выбрать эту форму аутентификации.

    Запустите ASP.NET Административное средство Веб-сайта. Это может быть сделано быстро, щелкая по маленькому значку молотка/Земли в Проводнике Решения. Можно также запустить этот инструмент, выбирая Веб-сайт, ASP.NET Конфигурация из главного меню.

  11. В ASP.NET Веб-сайте Административное средство щелкают по вкладке Security.

  12. Теперь щелкните по Пользовательской ссылке Типа Аутентификации.

  13. Выберите Из интернет-переключателя. Веб-сайт должен будет теперь обеспечить форму, чтобы позволить пользователю вводить их данные для входа в систему. Они будут проверены по информации членства, хранившей в базе данных MySQL.

    Рисунок 21.42. Тип аутентификации

    Тип аутентификации

  14. Вы теперь должны определить Провайдера Роли и Членства, который будет использоваться. Щелкните по вкладке Provider.

  15. Щелкните по Избранному различный провайдер для каждой функции (усовершенствованная) ссылка.

  16. Теперь выберите MySQLMembershipProvider и переключатели MySQLRoleProvider.

    Рисунок 21.43. Выберите Провайдера Членства и Роли

    Выберите Провайдера Членства и Роли

  17. В Visual Studio восстановите решение выбором, Создают, Восстанавливают Решение из главного меню.

  18. Проверьте, что необходимая схема была создана. Это может быть достигнуто, используя mysql интерпретатор команд.

    Рисунок 21.44. Членство и Ролевые Таблицы Провайдера

    Членство и Ролевые Таблицы Провайдера

  19. Принятие всего присутствует и корректно, можно теперь создать пользователей и роли для Вашего веб-приложения. Самый легкий способ сделать это с ASP.NET Административным средством Веб-сайта. Однако, много веб-приложений содержат свои собственные модули для того, чтобы создать роли и пользователей. Для простоты ASP.NET Административное средство Веб-сайта будет использоваться в этом учебном руководстве.

  20. В ASP.NET Административном средстве Веб-сайта щелкните по вкладке Security. Теперь, когда и Провайдер Членства и Роли включается, Вы будете видеть ссылки для того, чтобы создать роли и пользователей. Щелкните по Создаванию или Управляйте Ролевой ссылкой.

    Рисунок 21.45. Вкладка безопасности

    Вкладка безопасности

  21. Можно теперь ввести имя новой Роли и щелкнуть по Add Role, чтобы создать новую Роль. Создайте новые Роли как требуется.

  22. Щелкните по Кнопке "Назад".

  23. Щелкните по Создать Пользовательской ссылке. Можно теперь заполнить информацию о пользователе, чтобы быть созданными, и также выделить того пользователя одной или более Ролям.

    Рисунок 21.46. Создайте Пользователя

    Создайте Пользователя

  24. Используя mysql интерпретатор команд, можно проверить, что Ваша база данных была правильно заполнена с данными Членства и Роли.

    Рисунок 21.47. Членство и Ролевое Табличное Содержание

    Членство и Ролевое Табличное Содержание

В этом учебном руководстве Вы видели, как установить MySQL Провайдеры Членства и Роли Connector/Net для использования в Вашем ASP.NET веб-приложении.