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



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





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




Для аутентификации на основе ролей применяется атрибут 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]Кол-во просмотров: 6315

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

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

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

Пароль:



Регистрация

Как вы относитесь к рекламе на сайтах.
Отрицательно, терпеть ее не могу!
46% (95)
С пониманием
25% (51)
Пусть будет, если только по делу
15% (32)
Она мне безразлична!
11% (23)
Я ее обожаю!
3% (6)

Проголосовало: 208
- Я умею торм... торм... тормозить.
WINDOWS:
- А я умею висееееееееее...
Рейтинг: 5.3/10 (3)
Посмотреть все анекдоты