Шаблон провайдера безопасности ASP.NET 2.0 - PullRequest
1 голос
/ 06 апреля 2009

Я создаю сайт в ASP MVC. Может ли кто-нибудь дать мне несколько советов по использованию встроенного поставщика членства следующим образом.

Я хочу, чтобы мои пользователи создали административную учетную запись для себя, а затем создали учетные записи для людей в своей организации или людей, которым они хотят предоставить доступ.

Я думаю, в базе данных это будет выглядеть примерно так:

Компании имеют администраторов. Администраторы могут предоставить пользователям доступ.

Я уверен, что этот шаблон используется повсеместно, я просто не уверен, как его реализовать. Особенно с использованием провайдеров членства.

Спасибо

David

Ответы [ 3 ]

1 голос
/ 07 апреля 2009

Нет ничего особенного в реализации этого. Это может быть легко достигнуто с помощью встроенных функций ASP.NET 2.0:

  1. Настройка веб-сайта для использования членства (через web.config)
  2. Включить управление ролями (через web.config <roles enabled="true"> tag)
  3. Добавление учетных записей администраторов к роли Administrators.
  4. Управление доступом к административным страницам с помощью атрибута [Authorize(Roles="Administrators")] в действии контроллера.
  5. Требовать аутентификацию для других действий без прав администратора ([Authorize])
0 голосов
/ 07 апреля 2009

Вы можете создать роль для этих людей и назвать ее чем-то вроде организационной-админки, хотя это немного долго, вы меня улавливаете :) И дать им возможность создавать пользователей с обычной ролью пользователя. По крайней мере, так я это сделал в одном из моих приложений.

Конечно, вы оставите администратора для себя или для человека, который отвечает за этот конкретный сайт.

В блоге Гу есть небольшой пример того, как реализовать роли в фильтре действий.

0 голосов
/ 07 апреля 2009

Когда я это сделал, я использовал провайдера членства для аутентификации, однако концепцию организации я создал извне из провайдера. Вы можете использовать поставщика профилей.

Что касается ролей, я бы все равно использовал роли в модели членства ASP.Net.

...