Как мне реализовать членство пользователей на моем сайте ASP.NET MVC?

Я создаю сайт ASP.NET MVC, и мне нужно реализовать функции входа и членства.

Это что-то, где я катаюсь самостоятельно? У меня уже есть таблица участников в моей базе данных. Должен ли я создать поле хэша имени пользователя и пароля и просто проверить его? Как насчет того, чтобы пользователь оставался авторизованным с помощью cookie, срок действия которого истекает?

Это тот случай, когда вы будете использовать встроенную службу членства в ASP.NET?

Неофит ASP.NET MVC обращается за помощью.


person mmcdole    schedule 04.02.2009    source источник
comment
У меня здесь такое же сомнение, могу я спросить вас, что вы в итоге сделали?   -  person wallyqs    schedule 15.03.2009


Ответы (2)


Когда вы создаете новый сайт ASP.NET MVC, он уже имеет встроенное членство. Проект CodePlex, упомянутый в другом ответе, необходим только в особых случаях, а именно:

  • Вы используете раннюю бета-версию платформы MVC, в которой нет функции членства.
  • Вы хотите использовать систему аутентификации, такую ​​как OpenID, которая не поддерживается "из коробки" с MVC.
  • Вы хотите, чтобы функции администрирования членства не были включены "из коробки"

Однако, как я уже сказал, базовая функциональность членства уже присутствует на сайте MVC. Просто добавьте атрибут [Authorize] к любому действию, требующему входа в систему. Это обычная проверка подлинности с помощью форм, поэтому вы настроили в Web.config как сайт без MVC (указав базу данных и т. Д.; В Интернете есть много информации об этом).

Сайт MVC по умолчанию будет содержать контроллер «Учетная запись» и представления, которые вы можете настроить в соответствии со своими потребностями.

Чтобы ответить на очевидный вопрос, нет, вы не должны «кататься самостоятельно». Даже если вам нужна настраиваемая проверка подлинности, было бы лучше создать обычного поставщика членства в ASP.NET, чем создавать совершенно новую структуру членства.

Обновление: проект CodePlex был обновлен для работы с MVC 1.0.

person Craig Stuntz    schedule 04.02.2009

Если вы хотите использовать что-то безопасное для начала, либо используйте членство в новом шаблоне проекта, либо рассмотрите возможность использования http://www.codeplex.com/MvcMembership.

person ajma    schedule 04.02.2009