Я знаю, что это похоже на другие вопросы здесь, но я не думаю, что мой случай такой же, как у них.
У меня есть веб-сайт, который использует AspNetSqlMembershipProvider для проверки пользователей.Я хотел бы использовать ту же базу данных из консольного приложения.Согласно нескольким статьям в Интернете, я могу использовать класс System.Web.Security.Membership извне ASP.NET, скопировав соответствующие разделы из web.config в app.config.Это то, что я сделал.
Мое консольное приложение может получить пользователя с запрошенным именем, и я могу подтвердить, что пользователь утвержден и не заблокирован, но ValidateUser возвращает false для правильной пары имени пользователя и пароля.
Я нашел статьи, в которых люди испытывали проблемы с переносом кода, что может быть связано с несовпадением ключа компьютера, но также нашел ссылку, в которой говорится, что ключ компьютера используется только в том случае, если свойство passwordFormat равно зашифрованному, а я использую хешированный.
Является ли проблема в том, что две части кода - веб-сайт и консольное приложение - находятся в разных сборках, а имя сборки или другое свойство используется во время хеширования пароля?В обоих случаях для свойства имени приложения установлено значение /.
Должен ли я продолжить этот подход или просто получить доступ к базе данных напрямую и сам хешировать пароль?