AccessPolicyTAccessSubject, TContext - конструктор
Универсальный класс политики проверки доступности объектов.
Используется для проверки наличия доступа к объекту через
список правил
IAccessRuleTAccessSubject, TMandatoryContext
получаемых в конструкторе класса.
Правила доступности по умолчанию должны регистрироваться в контейнере приложения.
Базовая политика доступности с помощью контейнера приложения поддерживает два вида правил.
Правила не зависимые от субъекта доступа и контекста должны быть реализованы как
открытие обобщенные классы:
public class ConcreteRule<TAccessSubject, TContext> : IAccessRule<TAccessSuject, TContext>
{
....
}
container.RegisterType(typeof(IAccessRule<,>), typeof(ConcreteRule<,>), typeof(ConcreteRule<>).Name);
закрытие классы:
public class ConcreteRule: IAccessRule<ConcreteAccessSubject, ConcreteContext>
{
....
}
container.RegisterType<IAccessRule<ConcreteAccessSubject, ConcreteContext>, ConcreteRule>();
При получении политики
IAccessPolicy<ConcreteAccessSubject, ConcreteContext>
из контейнера будут получены оба вида правил.
Унаследование классы могут использовать собственные типы правил и получать их из контейнера,
через конструктор отдельно от предыдущих двух типов и затем добавляя из в список правил
политики через
AddRange(IEnumerableIAccessRuleTAccessSubject, TContext), приводя к
базовому типу.
Пространство имён: Tessa.Views.AccessPolicyСборка: Tessa (в Tessa.dll) Версия: 4.1.3+7e2b1422f9b8c7c41fbbc4b151a843bed05319ab
public AccessPolicy(
IEnumerable<IAccessRule<TAccessSubject, TContext>>? rules = null
)
Public Sub New (
Optional rules As IEnumerable(Of IAccessRule(Of TAccessSubject, TContext)) = Nothing
)
public:
AccessPolicy(
IEnumerable<IAccessRule<TAccessSubject, TContext>^>^ rules = nullptr
)
new :
?rules : IEnumerable<IAccessRule<'TAccessSubject, 'TContext>>
(* Defaults:
let _rules = defaultArg rules null
*)
-> AccessPolicy
Параметры
- rules IEnumerableIAccessRuleTAccessSubject, TContext (Optional)
-