Безопасность на основе ролей
Роли часто используются в финансовых и деловых приложениях для применения политики. Например, приложение может установить ограничение на размер транзакции в зависимости от того, является ли сделавший запрос пользователь участником определенной роли. Служащие могут иметь доступ к проведению транзакций, размер которых меньше определенного порога, менеджер может иметь больший предел, а вице-президент — еще больший или неограниченный. Безопасность на основе ролей может быть использована, когда приложению для завершения действия требуются многократные утверждения. Примером такой ситуации может быть система закупок, в которой любой служащий может сформировать запрос на закупку, но только агент по закупкам может преобразовать этот запрос в заказ на поставку, отсылаемый поставщику.
Безопасность на основе ролей в .NET Framework поддерживает авторизацию путем формирования информации об объекте Участник, содержащей связанное удостоверение, доступное для текущего потока. Удостоверение (и участник, который определяется с его помощью) может как основываться на учетной записи Windows, так и быть пользовательским удостоверением, не связанным с учетными записями Windows. Приложения .NET Framework могут принимать решения об авторизации либо на основе удостоверения участника, либо на основе членства в роли, либо на основе того и другого. Роль — это именованный набор участников, которые обладают одинаковыми привилегиями в плане безопасности (например, кассир или менеджер). Участник может быть участником одной или нескольких ролей. Поэтому приложения могут использовать членство в ролях для определения того, имеет ли участник право на выполнение запрошенного действия.
Для обеспечения простоты использования и согласованности с системой управления доступом для кода безопасность на основе ролей в .NET Framework предоставляет объекты System.Security.Permissions.PrincipalPermission, которые позволяют среде CLR реализовывать авторизацию таким же способом, как и при проверке управления доступом для кода. Класс PrincipalPermission представляет удостоверение или роль, которым должен соответствовать участник. Этот класс совместим как с декларативными, так и с принудительными проверками безопасности. При необходимости можно также непосредственно получать доступ к данным удостоверения участника и выполнять проверки роли и удостоверения в коде.
Платформа .NET Framework обеспечивает поддержку безопасности на основе ролей, которая является достаточно гибкой и расширяемой для того, чтобы удовлетворять требованиям широкого спектра приложений. Можно взаимодействовать с существующей инфраструктурой проверки подлинности, например службами COM+ 1.0, или создать пользовательскую систему проверки подлинности. Безопасность на основе ролей хорошо подходит для использования в веб-приложениях ASP.NET, которые обрабатываются главным образом на сервере. Тем не менее, безопасность на основе ролей в .NET Framework может быть использована как на стороне клиента, так и на стороне сервера.
Перед тем как читать этот раздел, следует ознакомиться с материалом, изложенным в разделе Основные понятия безопасности.
Связанные разделы
Заголовок |
Описание |
---|---|
Описание способов настройки и управления удостоверениями Windows и универсальными удостоверениями и участниками. |
|
Описание декларативного и принудительного способа реализации объектов разрешений. |
|
Описание способов реализации проверок безопасности: декларативного, принудительного или методом прямого доступа к объекту-участнику. |
|
Общие сведения о взаимодействии безопасности COM+ 1.0 с платформой .NET Framework. |
|
Основные понятия, с которыми необходимо ознакомиться перед использованием механизмов обеспечения безопасности .NET Framework. |
|
Средства обеспечения безопасности (платформа .NET Framework) |
Список и краткое описание средств обеспечения безопасности, включенных в .NET Framework. |