Хешированные пароли и структура сущности - PullRequest
2 голосов
/ 04 октября 2009

У меня есть таблица Users, и столбец HashedPassword имеет двоичный тип (16). Он используется для хранения хеша MD5. Для генерации хеша я создал несколько хранимых процедур: CreateUser, EditUser и LoginUser. У них есть параметр, который принимает пароль в виде открытого текста, конвертирует его в хеш MD5 и сохраняет / ищет хеш в таблице.

Проблема в том, как мне вписать это в структуру сущностей? Я попытался создать дополнительное поле «пароль» в сущности «Пользователь», а затем я бы связал это поле с хранимыми процедурами, но я получаю сообщение о том, что это новое поле «Пароль» не связано со столбцом в таблице «Пользователи».

Я только начинаю работать с Entity Framework, так что я, вероятно, упускаю что-то очевидное. Может быть, я должен хранить код генерации хэша в .net вместо базы данных.

Ответы [ 2 ]

2 голосов
/ 04 октября 2009

Я думаю, что самый простой способ, как вы предложили: сохранить код генерации хэша в .net.

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

1 голос
/ 04 октября 2009

Рассматривали ли вы структуру Членство ? Он обрабатывает все неприятности пользователей, пароли, логины, роли и многое другое.

Кроме того, поскольку я был администрирован в предыдущих сообщениях , MD5 не является безопасным AES или BCrypt сегодня являются более безопасными способами хеширования.

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