Flexberry ORM 8.0.0-beta01
Интерфейс ICSSoft.STORMNET.Security.ISecurityManager

Интерфейс для менеджера полномочий. Является основным API для доступа к подсистеме полномочий со стороны программистов. Подробнее...

Граф наследования:ICSSoft.STORMNET.Security.ISecurityManager:
ICSSoft.STORMNET.Security.EmptySecurityManager

Открытые члены

bool AccessCheck (int operationId)
 Проверка полномочий на выполнение операции. Подробнее...
 
bool AccessCheck (string operationId)
 Проверка полномочий на выполнение операции. Подробнее...
 
bool AccessObjectCheck (Type type, tTypeAccess operation, bool throwException)
 Проверка полномочий на выполнение операции с типом. Подробнее...
 
bool AccessObjectCheck (object obj, tTypeAccess operation, bool throwException)
 Проверка полномочий на выполнение операции с объектом. Подробнее...
 
OperationResult GetLimitForAccess (Type type, tTypeAccess operation, out object limit, out bool canAccess)
 Получить ограничение для текущего пользователя. Подробнее...
 
OperationResult GetLimitStrForRoles (Type type, out List< RoleWithAccesses > rolesWithAccesses)
 Получить роли с заданными ограничениями, которые реализуют функцию разграничения по объектам. Подробнее...
 
OperationResult SetLimitStrForRole (Type type, tTypeAccess operation, string roleName, string filter)
 Задать ограничение для указанной роли. Подробнее...
 
OperationResult CheckExistLogin (string login)
 Проверить наличие в системе логина (чувствительность к регистру зависит от настроек источника данных). Уникальность проверяется без контроля доменов, то есть гарантируется уникальность в рамках всей таблицы. Отключенные пользователи тоже учитываются, как занимающие логин. Подробнее...
 
bool CheckAccessToAttribute (string expression, out string deniedAccessValue)
 Метод проверки прав на доступ текущего пользователя к операции, заданной в DataServiceExpressionAttribute атрибута. Подробнее...
 

Свойства

bool Enabled [get]
 Флаг включенных полномочий. Подробнее...
 
bool UseRightsOnObjects [get]
 Флаг включенных полномочий над объектами (а не для всего типа сразу). Подробнее...
 
bool UseRightsOnAttribute [get]
 Флаг включенных полномочий над атрибутами. Подробнее...
 
string AttributeCheckExpressionPattern [get]
 Регулярное выражение для извлечения информации о контроле прав на атрибуты из DataServiceExpressionAttribute. Подробнее...
 

Подробное описание

Интерфейс для менеджера полномочий. Является основным API для доступа к подсистеме полномочий со стороны программистов.

Текущий пользователь для всех связанных действий определяется через CurrentUserService.

Методы

◆ AccessCheck() [1/2]

bool ICSSoft.STORMNET.Security.ISecurityManager.AccessCheck ( int  operationId)

Проверка полномочий на выполнение операции.

Аргументы
operationIdИдентификатор операции.
Возвращает
Если у текущего пользователя есть доступ, то true. Возвращает true без проверок если полномочия выключены в Enabled.

Замещается в ICSSoft.STORMNET.Security.EmptySecurityManager.

◆ AccessCheck() [2/2]

bool ICSSoft.STORMNET.Security.ISecurityManager.AccessCheck ( string  operationId)

Проверка полномочий на выполнение операции.

Аргументы
operationIdИдентификатор операции.
Возвращает
Если у текущего пользователя есть доступ, то true. Возвращает true без проверок если полномочия выключены в Enabled.

Замещается в ICSSoft.STORMNET.Security.EmptySecurityManager.

◆ AccessObjectCheck() [1/2]

bool ICSSoft.STORMNET.Security.ISecurityManager.AccessObjectCheck ( object  obj,
tTypeAccess  operation,
bool  throwException 
)

Проверка полномочий на выполнение операции с объектом.

Аргументы
objОбъект данных.
operationТип операции.
throwExceptionГенерировать ли исключение в случае отсутсвия прав.
Возвращает
Если у текущего пользователя есть доступ, то true. Возвращает true без проверок если полномочия выключены в Enabled.
Исключения
ArgumentNullExceptionИсключение генерируется при передаче null в качестве значения для obj .
UnauthorizedAccessExceptionИсключение генерируется в том случае, если у пользователя отсутствует доступ и параметр throwException установлен в true.

Замещается в ICSSoft.STORMNET.Security.EmptySecurityManager.

◆ AccessObjectCheck() [2/2]

bool ICSSoft.STORMNET.Security.ISecurityManager.AccessObjectCheck ( Type  type,
tTypeAccess  operation,
bool  throwException 
)

Проверка полномочий на выполнение операции с типом.

Аргументы
typeТип объекта данных.
operationТип операции.
throwExceptionГенерировать ли исключение в случае отсутсвия прав.
Возвращает
Если у текущего пользователя есть доступ, то true. Возвращает true без проверок если полномочия выключены в Enabled.
Исключения
ArgumentNullExceptionИсключение генерируется при передаче null в качестве значения для type .
UnauthorizedAccessExceptionИсключение генерируется в том случае, если у пользователя отсутствует доступ и параметр throwException установлен в true.

Замещается в ICSSoft.STORMNET.Security.EmptySecurityManager.

◆ CheckAccessToAttribute()

bool ICSSoft.STORMNET.Security.ISecurityManager.CheckAccessToAttribute ( string  expression,
out string  deniedAccessValue 
)

Метод проверки прав на доступ текущего пользователя к операции, заданной в DataServiceExpressionAttribute атрибута.

Аргументы
expressionСтрока DataServiceExpressionAttribute.
deniedAccessValueЗначение, которое должен получить атрибут при отсутствии прав.
Возвращает
Если у текущего пользователя есть доступ, то true.

Замещается в ICSSoft.STORMNET.Security.EmptySecurityManager.

◆ CheckExistLogin()

OperationResult ICSSoft.STORMNET.Security.ISecurityManager.CheckExistLogin ( string  login)

Проверить наличие в системе логина (чувствительность к регистру зависит от настроек источника данных). Уникальность проверяется без контроля доменов, то есть гарантируется уникальность в рамках всей таблицы. Отключенные пользователи тоже учитываются, как занимающие логин.

Аргументы
loginЛогин, который проверяем.
Возвращает
Если логин свободен, то OperationResult.ЛогинСвободен, если занят, то OperationResult.ЛогинЗанят.
Исключения
ArgumentExceptionИсключение генерируется при передаче null или string.Empty в качестве значения для login .

Замещается в ICSSoft.STORMNET.Security.EmptySecurityManager.

◆ GetLimitForAccess()

OperationResult ICSSoft.STORMNET.Security.ISecurityManager.GetLimitForAccess ( Type  type,
tTypeAccess  operation,
out object  limit,
out bool  canAccess 
)

Получить ограничение для текущего пользователя.

Аргументы
typeТип объекта.
operationТип операции.
limitОграничение, которое есть для текущего пользователя.
canAccessЕсть ли доступ к этому типу у пользователя.
Возвращает
Результат выполнения операции.

Замещается в ICSSoft.STORMNET.Security.EmptySecurityManager.

◆ GetLimitStrForRoles()

OperationResult ICSSoft.STORMNET.Security.ISecurityManager.GetLimitStrForRoles ( Type  type,
out List< RoleWithAccesses rolesWithAccesses 
)

Получить роли с заданными ограничениями, которые реализуют функцию разграничения по объектам.

Аргументы
typeКласс, для которого получаем ограничения.
rolesWithAccessesРоли с заданными ограничениями для этих ролей.
Возвращает
Результат выполнения операции.

Замещается в ICSSoft.STORMNET.Security.EmptySecurityManager.

◆ SetLimitStrForRole()

OperationResult ICSSoft.STORMNET.Security.ISecurityManager.SetLimitStrForRole ( Type  type,
tTypeAccess  operation,
string  roleName,
string  filter 
)

Задать ограничение для указанной роли.

Аргументы
typeТип объектов данных, для которых будет применяться данный фильтр.
operationТип доступа, для которого применяется этот фильтр.
roleNameНазвание роли.
filterСериализованный фильтр, который будет применяться для указанной роли.
Возвращает
Результат выполнения операции.

Замещается в ICSSoft.STORMNET.Security.EmptySecurityManager.

Полный список свойств

◆ AttributeCheckExpressionPattern

string ICSSoft.STORMNET.Security.ISecurityManager.AttributeCheckExpressionPattern
get

Регулярное выражение для извлечения информации о контроле прав на атрибуты из DataServiceExpressionAttribute.

◆ Enabled

bool ICSSoft.STORMNET.Security.ISecurityManager.Enabled
get

Флаг включенных полномочий.

◆ UseRightsOnAttribute

bool ICSSoft.STORMNET.Security.ISecurityManager.UseRightsOnAttribute
get

Флаг включенных полномочий над атрибутами.

◆ UseRightsOnObjects

bool ICSSoft.STORMNET.Security.ISecurityManager.UseRightsOnObjects
get

Флаг включенных полномочий над объектами (а не для всего типа сразу).