Объект "роль"
"Роль" определяет право пользователей на выполнение действий, причем возможно наличие нескольких пользователей (входящих в группу) с различными именами, но равными ролями. Практически такая ситуация характерна для информационных систем — например, в банке права менеджера и оператора различаются, причем может быть несколько как менеджеров, так и операторов.
В библиотеке .NET Framework есть три типа объекта "роль" (таблица 10.7).
Windows Principal | Представляет пользователей операционной системы Windows и их роли. Реализуется классом WindowsPrincipal |
Generic Principal | Представляет независимых от операционной системы пользователей и их роли. Реализуется классом GenericPrincipal |
Custom Principal | Представляет специальную для приложения информацию о ролях. Реализуется классом, в котором имеется интерфейс IPrincipal |
Все классы, описывающие объект "роль", должны реализовывать интерфейс IPrincipal. Интерфейс IPrincipal имеет одно свойство — Identity, которое описывает объект класса, реализующего интерфейс Iidentity, и метод — IsInRole, который определяет, принадлежит ли текущий "принципал" к заданной роли.