У меня уже есть таблица User
в моей основной базе данных приложения с адресом электронной почты (который будет действовать как имя пользователя) и пароль. Я хотел бы выполнить аутентификацию с использованием моей базы данных вместо базы данных аутентификации по умолчанию (ASPNETDB).
Вопросы:
-
Это плохая идея? Это огромная возможность червей использовать мою собственную БД для аутентификации?
-
Сколько работы я добавляю, делая это? У меня уже есть код для хэширования пароля и запроса, который будет проверять соответствие имени и пароля БД. Итак, я бы не начинал с нуля.
-
Что мне нужно сделать, чтобы использовать мою базу данных вместо ASPNETDB? Я надеюсь, что это можно описать несколькими простыми шагами, но если нет, можете ли вы указать мне хороший источник?
Обновление
Я по-прежнему ищу еще немного подробностей здесь по моему третьему вопросу. Нужно ли мне писать свой собственный MembershipProvider
? Какие изменения мне необходимо внести в файл web.config? Будет ли атрибут [Authorize]
работать, если я напишу собственное решение? Могу ли я использовать автоматически созданный AccountController с некоторыми незначительными изменениями или мне в основном нужно переписать контроллер учетной записи с нуля?