Как мне реализовать членство пользователя в моем сайте ASP.NET MVC? - PullRequest
10 голосов
/ 04 февраля 2009

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

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

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

Неофит ASP.NET MVC ищет помощи.

Ответы [ 2 ]

14 голосов
/ 04 февраля 2009

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

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

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

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

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

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

4 голосов
/ 04 февраля 2009

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

...