Аутентификация пользовательских форм в MVC - PullRequest
15 голосов
/ 03 января 2011

Я хочу использовать аутентификацию на моем сайте, чтобы войти в раздел администратора.У меня уже есть схема базы данных, я не хочу использовать таблицы членства ASP.NET для SQL Server.У меня есть три таблицы: Employees, Roles и EmployeesInRoles.

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

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

Ответы [ 2 ]

24 голосов
/ 03 января 2011

Стивен, ознакомьтесь с серией моих уроков по безопасности сайта: http://www.asp.net/web-forms/overview/older-versions-security/introduction/security-basics-and-asp-net-support-cs

(РЕДАКТИРОВАТЬ: я обновил вышеупомянутый URL, так как исходный URL возвращал 404. Но имейте в виду, что этот материал был написан в 2008 году и безнадежно устарел.)

Первые три учебника посвящены исключительно аутентификации на основе форм без обсуждения членства. Эти первые три урока - особенно уроки № 2 и № 3 - должны помочь вам двигаться в правильном направлении.

Чтобы реализовать роли без использования встроенной платформы ролей ASP.NET, ознакомьтесь со следующей статьей: Авторизация на основе ролей с аутентификацией по формам .

При всем этом я бы посоветовал вам пересмотреть использование ASP.NET, встроенного в библиотеки Membership и Roles. Отказ от них означает, что вам придется изобретать велосипед, и вы, вероятно, сделаете это неправильно. (Например, вы надежно храните пароли пользователей в своей пользовательской реализации?)

Счастливого программирования!

4 голосов
/ 03 января 2011

Встроенный поставщик Membership основан на интерфейсах, для которых их реализация может быть заменена вашей собственной, которая (помимо прочего) может использовать ваши собственные таблицы для аутентификации.

Вот видео о создании собственного поставщика членства в ASP.NET: http://www.asp.net/general/videos/how-do-i-create-a-custom-membership-provider

Вот хорошая общая статья с указателями на другие ресурсы:
http://weblogs.asp.net/scottgu/archive/2006/02/24/ASP.NET-2.0-Membership_2C00_-Roles_2C00_-Forms-Authentication_2C00_-and-Security-Resources-.aspx

...