Поделиться через


Знакомство с безопасностью на основе ролей

Обновлен: Ноябрь 2007

Роли часто используются в финансовых и деловых приложениях для применения политики. Например, приложение может установить ограничение на размер транзакции в зависимости от того, является ли сделавший запрос пользователь участником определенной роли. Служащие могут иметь доступ к проведению транзакций, размер которых меньше определенного порога, менеджер может иметь больший предел, а вице-президент — еще больший или неограниченный. Безопасность на основе ролей может быть использована, когда приложению для завершения действия требуются многократные утверждения. Примером такой ситуации может быть система закупок, в которой любой служащий может сформировать запрос на закупку, но только агент по закупкам может преобразовать этот запрос в заказ на поставку, отсылаемый поставщику.

.Безопасность на основе ролей в .NET Framework поддерживает авторизацию путем формирования информации об участнике, которая включает связанное удостоверение, доступное для текущего потока. Удостоверение (и участник, который определяется с его помощью) может как основываться на учетной записи Windows, так и быть пользовательским удостоверением, не связанным с учетными записями Windows. .Приложения .NET Framework могут принимать решения об авторизации либо на основе удостоверения участника, либо на основе членства в роли, либо на основе того и другого. Роль — это именованный набор участников, которые обладают одинаковыми привилегиями в плане безопасности (например, кассир или менеджер). Участник может быть участником одной или нескольких ролей. Поэтому приложения могут использовать членство в ролях для определения того, имеет ли участник право на выполнение запрошенного действия.

Для обеспечения простоты использования и согласованности с механизмом управления доступом к коду безопасность на основе ролей в .NET Framework предоставляет объекты PrincipalPermission, которые позволяют среде CLR реализовывать авторизацию таким же способом, как и при проверке управления доступом для кода. Класс PrincipalPermission представляет удостоверение или роль, которым должен соответствовать участник, и совместим как с декларативными, так и с принудительными проверками безопасности. При необходимости можно также непосредственно получать доступ к данным удостоверения участника и выполнять проверки роли и удостоверения в коде.

Платформа .NET Framework обеспечивает поддержку безопасности на основе ролей, которая является достаточно гибкой и расширяемой для того, чтобы удовлетворять требованиям широкого спектра приложений. Можно взаимодействовать с существующей инфраструктурой проверки подлинности, например службами COM+ 1.0, или создать пользовательскую систему проверки подлинности. Безопасность на основе ролей хорошо подходит для использования в веб-приложениях ASP.NET, которые обрабатываются главным образом на сервере. Тем не менее, безопасность на основе ролей в .NET Framework может быть использована как на стороне клиента, так и на стороне сервера.

См. также

Ссылки

PrincipalPermission

Другие ресурсы

Безопасность на основе ролей

Основные понятия безопасности