Как я представляю встроенную безопасность и управление пользователями к приложению MVC?

Не может не любить его...

alt text

9
задан DrydenMaker 27 July 2009 в 19:29
поделиться

4 ответа

Теперь у меня авторизация пользователя работает в несколько разумном порядке. Самым большим препятствием, которое нужно преодолеть, является то, что можно использовать классы членства, даже если я не использую аспект членства в профиле. Легко получить имя пользователя и выполнить Membership.GetUser (UserName). Затем вы можете сделать много вещей, таких как разблокировать, одобрить / отклонить, изменить пароль и изменить пароль, вопрос / ответ ... все, что мне нужно.

Вот основы:

'get current logged in user
Dim currentUser As MembershipUser = Membership.GetUser()

'get current logged in user name
Dim userName = currentUser.UserName

'get current user email
Dim userEmail = currentUser.Email

'get a user to edit
Dim editingUser = Membership.GetUser(UserName)

'set the user email
editingUser.Email = newEmail
Membership.UpdateUser(editingUser)

‘unlock user
editingUser.UnlockUser() 

‘disapprove user
editingUser.IsApproved = False
Membership.UpdateUser(editingUser) 

‘approve user
editingUser.IsApproved = True
Membership.UpdateUser(editingUser)

‘change pw
editingUser.ChangePassword(oldPw, newPw)

и это в основном все, что есть это

0
ответ дан 5 December 2019 в 02:08
поделиться

Насколько я могу судить, вы используете SqlMembershipProvider в качестве реализации поставщика членства. Я настоятельно рекомендую вам ознакомиться с некоторыми методами классов MembershipUser и MembershipProvider (например, CreateUser и т. Д.), Чтобы достичь того, что вы пытаетесь вместо работы с базовыми таблицами базы данных, используемыми для реализации.

Вы также можете ознакомиться с этой статьей , чтобы получить более подробное введение в членство, роли и роли ASP.NET Профили провайдеров.

1
ответ дан 5 December 2019 в 02:08
поделиться

Посмотрите этот проект на CodePlex: Стартовый комплект для членства в ASP.Net MVC

1
ответ дан 5 December 2019 в 02:08
поделиться

Я не знаю "передовой опыт", но я бы сделал это так (и как это вроде написано в " Professional ASP.NET MVC 1.0 "):

У вас должны быть собственные (или стандартные) ProfileProvider и MembershipProvider, чтобы это работало.

Создайте контроллер, который обрабатывает все действия по управлению участниками, например. MemberAdminController

В этом контроллере должен быть указан атрибут Authorize [Roles = "Administrator"], чтобы все действия в этом контроллере обрабатывались, только если пользователь находится в роли администратора.

Теперь вы можете создавать представления и действия CRUD как бы вы хотели использовать только этот контроллер.

0
ответ дан 5 December 2019 в 02:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: