Поставщики членства/роли ASP.NET для MySQL?

Я не совсем знаком с членством/ролями ASP.NET. Это мой первый раз, когда я использовал его, и мой первый раз пробовал ASP.NET MVC. Когда я создаю свой первый проект для MVC, он дает мне прекрасный шаблон для создания учетной записи. Я был рад видеть, что мне не нужно было делать это вручную. Однако это не удалось, потому что он не может подключиться к SQL Server. У меня нет SQL Server, у меня есть MySQL. Есть ли какой-либо простой способ заставить эту систему использовать MySQL вместо этого, или мне нужно создать свою собственную проверку подлинности?

Ответ 1

Понял! Используя версию 6.2.2.0 MySql Connector/Net, выполните следующие действия...

  • Добавить ссылку на MySql.Web.dll
  • Измените <membership> в файле web.config на следующее:

    <membership defaultProvider="MySqlMembershipProvider">
      <providers>
        <clear/>
        <add name="MySqlMembershipProvider"
             type="MySql.Web.Security.MySQLMembershipProvider,
                   MySql.Web, Version=6.2.2.0, Culture=neutral,
                   PublicKeyToken=c5687fc88969c44d"
             autogenerateschema="true"
             connectionStringName="NAME_OF_YOUR_CONN_STRING"
             enablePasswordRetrieval="false"
             enablePasswordReset="true"
             requiresQuestionAndAnswer="false"
             requiresUniqueEmail="false"
             passwordFormat="Hashed"
             maxInvalidPasswordAttempts="5"
             minRequiredPasswordLength="6"
             minRequiredNonalphanumericCharacters="0"
             passwordAttemptWindow="10"
             passwordStrengthRegularExpression=""
             applicationName="/"
         />
      </providers>
    </membership>
  • Запустить проект | Инструмент настройки ASP.NET и перейдите на вкладку "Безопасность", чтобы проверить
  • Протестировано на ASP.NET 3.5, MySQL Server версии 5.1, 64-разрядной Windows XP

Ответ 2

В исходном вопросе не указана, какая версия ASP.NET и MVC была использована. С недавней версией .NET 4.5 и MVC 4 я столкнулся с той же проблемой, что и OP, но с новыми технологиями. Это мое быстрое исправление для него в основном такая же конфигурация, как и Josh Stodola, но с некоторыми дополнительными шагами.

<membership defaultProvider="MySqlMembershipProvider">
  <providers>
    <clear />
    <add name="MySqlMembershipProvider"
         type="MySql.Web.Security.MySQLMembershipProvider,
         MySql.Web, Version=6.5.4.0, PublicKeyToken=c5687fc88969c44d"
     autogenerateschema="true"
     connectionStringName="*NAME_OF_YOUR_CONN_STRING*"
     enablePasswordRetrieval="false"
     enablePasswordReset="true"
     requiresQuestionAndAnswer="false"
     requiresUniqueEmail="false"
     passwordFormat="Hashed"
     maxInvalidPasswordAttempts="5"
     minRequiredPasswordLength="6"
     minRequiredNonalphanumericCharacters="0"
     passwordAttemptWindow="10"
     passwordStrengthRegularExpression=""
     applicationName="/" />
  </providers>
</membership>

Получить работу AccountController и Views:

  • Удалить MVC 4 AccountController, AccountModels, папку просмотра аккаунта и общий доступ к _LoginPartial
  • Создайте новое веб-приложение MVC 3
  • Скопируйте MVC 3 AccountController, AccountModels, папку просмотра учетной записи и общий доступ к _LogOnPartial в ваше приложение MVC 4.
  • Замените @Html.Partial("_LoginPartial") в общем представлении _Layout с помощью @Html.Partial("_LogOnPartial")

Ответ 4

В моем сценарии мне не нужно подключаться к MySQL из моих веб-приложений .NET. Поэтому я решил эту проблему, выполнив две вещи:

1) Удалите MySQL.NET Connector (все версии) 2) Внутри файла Web.Config удалите все ключи, которые были добавлены после установки MySQL. (Или, верните исходный файл Web.Config перед установкой в ​​корневую папку веб-приложения .NET)

Теперь мое приложение .NET - это bac

Ответ 5

Пришлось пройти через нечто подобное.

Вот официальное прохождение MySql, которое помогло мне:
Учебное пособие: Поставщик членства и роли в ASP-коннекторе MySQL/Net ASP

Примечание. В моем случае machine.config для редактирования был 32-разрядный один (они не указали, какой из них, и редактирование 64-битного не помогло).

Ответ 6

Нажмите на меню Project, за которым следует Конфигурация ASP.NET.

Это создаст базу данных sql для вас в папке "Данные".

Используйте Visual Studio для просмотра данных.

Надеюсь, что это поможет.

Edit

Я должен добавить, что вы можете использовать Ctrl + Alt + S, чтобы увидеть Server Explorer, который затем должен будет видеть вашу базу данных со своими таблицами и данными.

Вам не нужно устанавливать SQL.