Class PermissionMatrix
The set of all permission lists, indexed by organization (tenant) account code.
public class PermissionMatrix
- Inheritance
-
PermissionMatrix
- Inherited Members
- Extension Methods
Remarks
Each organization has its own permission list. This helps to ensure permissions granted in one organization account never leak into another account. Also this makes it easy to implement a partition-wide permission matrix.
Constructors
PermissionMatrix()
public PermissionMatrix()
Properties
Organizations
public string[] Organizations { get; }
Property Value
- string[]
Permissions
The collection of all permissions for all organizations.
public Dictionary<string, PermissionList> Permissions { get; set; }
Property Value
Resources
The collection of all available resources throughout the platform.
public Dictionary<string, Resource> Resources { get; set; }
Property Value
Methods
AddPermissions(AccessOperation, ResourcePermissions, string)
public void AddPermissions(AccessOperation operation, ResourcePermissions resourcePermissions, string organization)
Parameters
operationAccessOperationresourcePermissionsResourcePermissionsorganizationstring
AddPermissions(AccessOperation, ResourcePermissions[], string)
public void AddPermissions(AccessOperation operation, ResourcePermissions[] resourcePermissions, string organization)
Parameters
operationAccessOperationresourcePermissionsResourcePermissions[]organizationstring
AddPermissions(string, PermissionList)
public void AddPermissions(string organization, PermissionList list)
Parameters
organizationstringlistPermissionList
AddResource(string)
public void AddResource(string resource)
Parameters
resourcestring
GetOrCreatePermissions(string)
public PermissionList GetOrCreatePermissions(string organization)
Parameters
organizationstring
Returns
GetPermissions(string)
public PermissionList GetPermissions(string organization)
Parameters
organizationstring
Returns
IsAllowed(string, string, List<Role>)
public bool IsAllowed(string organization, string resource, List<Role> roles)
Parameters
Returns
IsAllowed(string, string, string, AuthorityAccess)
public bool IsAllowed(string organization, string resource, string role, AuthorityAccess access)
Parameters
organizationstringresourcestringrolestringaccessAuthorityAccess
Returns
IsAllowed(string, string, string, HttpAccess)
public bool IsAllowed(string organization, string resource, string role, HttpAccess access)
Parameters
organizationstringresourcestringrolestringaccessHttpAccess
Returns
IsAllowed(string, string, string, OperationAccess)
public bool IsAllowed(string organization, string resource, string role, OperationAccess access)
Parameters
organizationstringresourcestringrolestringaccessOperationAccess
Returns
IsAllowed(string, string, string, SwitchAccess)
public bool IsAllowed(string organization, string resource, string role, SwitchAccess access)
Parameters
organizationstringresourcestringrolestringaccessSwitchAccess
Returns
TryGetPermissions(string, out PermissionList)
public bool TryGetPermissions(string organization, out PermissionList list)
Parameters
organizationstringlistPermissionList