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