Skip to content

Identity without EF - хеширование пароля #1

@aspyrin

Description

@aspyrin

Привет
Только начал изучать веб-разработку. Делаю приложение на Net.Framwork MVC, без Entity и без технологии CodeFirst.
Стал вопрос по авторизации и идентификации пользователей на сайте.
Набрел на статью Identity without EF. Попробовал, все работает! Респект!
Далее, создал свою БД, в ней создал таблицу с пользователями, в этой таблице поле PasswordHash, где хранятся пароли, как и в вашем примере - нехешированные текстовые значения.
В переменную, _sampleUsers в классе AccountService передаю всех пользователей из базы данных.
Все по прежнему работает, все ОК, но если изменить пароль с помощью менеджера ChangePassword, то в базу сохраняется уже хеш пароля. И после этого зайти в этот аккаунт уже нельзя. Только если при авторизации на сайте передавать хеш.
Понимаю, что в AccountController в методе Login [HttpPost] функция SignInManager.PasswordSignInAsync должна сопоставить, строку пароля переданную в из LoginViewModel.Password с хеш-паролем из PasswordHash. Но она возвращает результат SignInStatus.Failure
Подскажите как заставить SignInManager.PasswordSignInAsync работать с хеш-паролями?
Заранее спасибо.
aspyrin@i.ua
aspyrin77@gmail.com

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions