Я не совсем знаком с членством/ролями ASP.NET. Это мой первый раз, когда я использовал его, и мой первый раз пробовал ASP.NET MVC. Когда я создаю свой первый проект для MVC, он дает мне прекрасный шаблон для создания учетной записи. Я был рад видеть, что мне не нужно было делать это вручную. Однако это не удалось, потому что он не может подключиться к SQL Server. У меня нет SQL Server, у меня есть MySQL. Есть ли какой-либо простой способ заставить эту систему использовать MySQL вместо этого, или мне нужно создать свою собственную проверку подлинности?
Поставщики членства/роли ASP.NET для 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")
Ответ 3
Я сделал это с asp.net, но я думаю, что он может быть использован и для mvc: hasangursoy.com.tr/aspnet-authorization-authentication- с-тузд
Ответ 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.