» Главная
eXcode.ru » Статьи » ASP / ASP.NET
» Новости
» Опросы
» Файлы
» Журнал



Пользователей: 0
Гостей: 14





Аутентификации на основе ролей




Для аутентификации на основе ролей применяется атрибут roles тега allow. Например, если мы хотим запретить доступ всем, кроме пользователей из группы Admin , мы должны вставить такие строки в файл Web.config.

<authorization>
   <allow roles="Admin" />
   <deny users="*" />
</authorization>

      Затем при каждом запросе нужно связывать учетные записи пользователей и роли. Обычно это делается в обработчике события AuthenticateRequest в файле Global.asax.

protected void Application_AuthenticateRequest(Object sender, EventArgs e)
{
   HttpApplication appl = (HttpApplication)sender;

   if (appl.Request.IsAuthenticated && appl.User.Identity is FormsIdentity)
   {
      FormsIdentity identity = (FormsIdentity)appl.User.Identity;

      DataTable tblUsers = (DataTable)Application["UsersTable"];
      appl.Context.User = new GenericPrincipal(identity,
      new string[] {(string)(tblUsers.Rows.Find(identity.Name)["Role"]) } );
   }
}

      В коде проверяется тип аутентификации пользователя и то, что он уже зарегистрирован. Имя пользователя извлекается из cookie свойством Name. Таблица с именами пользователей и их ролями для повышения быстродействия была сохранена в объекте Application. Из этой таблицы и находим роль пользователя, которую сохраняем в объекте GenericPrincipal.

Источник: www.cyberguru.ru

К началу статьи





Добавил: LedWormДата публикации: 2008-02-14 09:02:40
Рейтинг статьи:5.00 [Голосов 1]Кол-во просмотров: 6472

Комментарии читателей

Всего комментариев: 1

2012-04-20 14:38:19
Нарзан
Кратко и элементарно! Именно то, что я искал! А не весь тот бред и словоблудие на майкрософте и извержение потоков индивидуумов, которые слишком много о себе мнят, но самого принципа рассказать не могут.
Ваше имя: *
Текст записи: *
Имя:

Пароль:



Регистрация

Каким языком программирования вы чаще пользуйтесь?
C++
27% (108)
Delphi
47% (190)
PHP
8% (34)
Basic
3% (13)
Assembler
3% (11)
ASP
1% (6)
Perl
3% (11)
JAVA
3% (14)
Другой
4% (17)

Проголосовало: 404
Для выхода в меню нажмите Reset.
Рейтинг: 5.5/10 (2)
Посмотреть все анекдоты