ASP.NET членство провайдер - PullRequest
1 голос
/ 11 ноября 2010

Я создал службу WCF для обработки членства в ASP.NET. Он работает нормально, используя открытый пароль, но когда я меняю тип пароля на хешированный, мой сервис всегда возвращает false при проверке пользователя,

о, у меня есть другое приложение winforms, которое использует ту же базу данных для своего провайдера членства, и работает хорошо, используя открытый или хешированный пароль

и когда я вызываю сброс пароля из обоих приложений (используя хешированный пароль), они меняют данные в моей базе данных с разной длиной значения. WCF 44 символа, в то время как приложение WinForms только 28 символов.

так что я действительно запутался в том, что случилось, и удивляюсь, что я сделал не так

Ответы [ 3 ]

1 голос
/ 11 ноября 2010

Привет, если вы уже сохранили пароль в базе данных, вы не можете изменить тип пароля. Уже сохраненные пароли не хэшируются, и функция проверки пользователя всегда возвращает false.

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

1 голос
/ 18 ноября 2010

Я решил это.
благодаря http://www.codeproject.com/KB/aspnet/LoginControlError.aspx

Похоже, мне нужно явно установить HashAlgorithmType в «SHA1» в моем app.config

еще одна вещь, которую стоит упомянуть, это то, что я использую mysql в качестве своей базы данных. поэтому, возможно, этот случай не произойдет при использовании MS SQL Server.

1 голос
/ 11 ноября 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...