Table of Contents

Class PermissionMatrix

Namespace
Shift.Common
Assembly
Shift.Common.dll

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

Dictionary<string, PermissionList>

Resources

The collection of all available resources throughout the platform.

public Dictionary<string, Resource> Resources { get; set; }

Property Value

Dictionary<string, Resource>

Methods

AddPermissions(AccessOperation, ResourcePermissions, string)

public void AddPermissions(AccessOperation operation, ResourcePermissions resourcePermissions, string organization)

Parameters

operation AccessOperation
resourcePermissions ResourcePermissions
organization string

AddPermissions(AccessOperation, ResourcePermissions[], string)

public void AddPermissions(AccessOperation operation, ResourcePermissions[] resourcePermissions, string organization)

Parameters

operation AccessOperation
resourcePermissions ResourcePermissions[]
organization string

AddPermissions(string, PermissionList)

public void AddPermissions(string organization, PermissionList list)

Parameters

organization string
list PermissionList

AddResource(string)

public void AddResource(string resource)

Parameters

resource string

GetOrCreatePermissions(string)

public PermissionList GetOrCreatePermissions(string organization)

Parameters

organization string

Returns

PermissionList

GetPermissions(string)

public PermissionList GetPermissions(string organization)

Parameters

organization string

Returns

PermissionList

IsAllowed(string, string, List<Role>)

public bool IsAllowed(string organization, string resource, List<Role> roles)

Parameters

organization string
resource string
roles List<Role>

Returns

bool

IsAllowed(string, string, string, AuthorityAccess)

public bool IsAllowed(string organization, string resource, string role, AuthorityAccess access)

Parameters

organization string
resource string
role string
access AuthorityAccess

Returns

bool

IsAllowed(string, string, string, HttpAccess)

public bool IsAllowed(string organization, string resource, string role, HttpAccess access)

Parameters

organization string
resource string
role string
access HttpAccess

Returns

bool

IsAllowed(string, string, string, OperationAccess)

public bool IsAllowed(string organization, string resource, string role, OperationAccess access)

Parameters

organization string
resource string
role string
access OperationAccess

Returns

bool

IsAllowed(string, string, string, SwitchAccess)

public bool IsAllowed(string organization, string resource, string role, SwitchAccess access)

Parameters

organization string
resource string
role string
access SwitchAccess

Returns

bool

TryGetPermissions(string, out PermissionList)

public bool TryGetPermissions(string organization, out PermissionList list)

Parameters

organization string
list PermissionList

Returns

bool