Я пытаюсь использовать службу аутентификации форм ASP.NET с версией коннектора MySQL 6.3.2.Я смог заставить его работать, используя пароли в открытом тексте, но не смог заставить работать хешированные пароли.Вот фрагмент из моего файла machine.config
<system.web>
<membership defaultProvider="MySQLMembershipProvider">
<providers>
<add name="MySQLMembershipProvider"
type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.3.2.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"
autogenerateschema="true"
connectionStringName="LocalMySqlServer"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
applicationName="/"
requiresUniqueEmail="true"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="1"
passwordAttemptWindow="10"
passwordStrengthRegularExpression="" />
</providers>
</membership>
</system.web>
Я использую метод ValidateUser класса MembershipProvider для выполнения аутентификации.Если строка passwordFormat="Hashed"
изменяется на passwordFormat="Clear"
, пользователи будут проходить аутентификацию.После изменения настроек в файле machine.config я удаляю всех пользователей и воссоздаю учетные записи.Я проверил содержимое таблиц aspnet и пароли правильно хранятся в виде хэшей - просто не удается проверить.