Table of Contents

Class PermissionSet

Namespace
The.Security
Assembly
Instagile.dll

A collection of access rights for authorisation purposes.

public sealed class PermissionSet
Inheritance
PermissionSet
Inherited Members

Constructors

PermissionSet(IEnumerable<string?>, IEnumerable<string?>, IEnumerable<string?>, IEnumerable<Guid?>, IEnumerable<string?>, bool)

A collection of access rights for authorisation purposes.

public PermissionSet(IEnumerable<string?> read, IEnumerable<string?> write, IEnumerable<string?> export, IEnumerable<Guid?> tenancy, IEnumerable<string?> flags, bool isAdmin)

Parameters

read IEnumerable<string>
write IEnumerable<string>
export IEnumerable<string>
tenancy IEnumerable<Guid?>
flags IEnumerable<string>
isAdmin bool

Fields

Admin

Adds admin status, but not data access.

public static readonly PermissionSet Admin

Field Value

PermissionSet

AllExceptAdmin

All permissions except admin status. Equivalent to ReadWriteExportAll + AllFlags + AllTenants.

public static readonly PermissionSet AllExceptAdmin

Field Value

PermissionSet

Remarks

Intended to be updated when new kinds of permissions are added to Instagile.

AllFlags

Adds all flags.

public static readonly PermissionSet AllFlags

Field Value

PermissionSet

Remarks

See WellKnownFlags for built-in flags. Applications may define their own flags.

AllTenants

Adds access to all tenancies.

public static readonly PermissionSet AllTenants

Field Value

PermissionSet

CanExport

public readonly HashSet<string?> CanExport

Field Value

HashSet<string>

CanRead

public readonly HashSet<string?> CanRead

Field Value

HashSet<string>

CanWrite

public readonly HashSet<string?> CanWrite

Field Value

HashSet<string>

Flags

public readonly HashSet<string?> Flags

Field Value

HashSet<string>

HasTenant

public readonly HashSet<Guid?> HasTenant

Field Value

HashSet<Guid?>

IsAdmin

public readonly bool IsAdmin

Field Value

bool

None

The empty [permission]set.

public static readonly PermissionSet None

Field Value

PermissionSet

ReadAll

Adds readonly data access, but not write/export access, or admin status.

public static readonly PermissionSet ReadAll

Field Value

PermissionSet

ReadExportAll

Adds readonly data access and export access, but not write access, or admin status.

public static readonly PermissionSet ReadExportAll

Field Value

PermissionSet

ReadWriteAll

Adds read/write data access, but not export access, or admin status.

public static readonly PermissionSet ReadWriteAll

Field Value

PermissionSet

ReadWriteExportAll

Adds read/write/export data access, but not admin status.

public static readonly PermissionSet ReadWriteExportAll

Field Value

PermissionSet

Trusted

Full access to everything, including admin status.

public static readonly PermissionSet Trusted

Field Value

PermissionSet

Methods

Export(params IEntityInfo[])

Adds export access for specific entities.

public static PermissionSet Export(params IEntityInfo[] types)

Parameters

types IEntityInfo[]

Returns

PermissionSet

Flag(params string[])

Adds specific flags.

public static PermissionSet Flag(params string[] flags)

Parameters

flags string[]

Returns

PermissionSet

Remarks

See WellKnownFlags for built-in flags. Applications may define their own flags.

Read(params IEntityInfo[])

Adds read access to specific entities.

public static PermissionSet Read(params IEntityInfo[] types)

Parameters

types IEntityInfo[]

Returns

PermissionSet

ReadWrite(params IEntityInfo[])

public static PermissionSet ReadWrite(params IEntityInfo[] types)

Parameters

types IEntityInfo[]

Returns

PermissionSet

ReadWriteExport(params IEntityInfo[])

public static PermissionSet ReadWriteExport(params IEntityInfo[] types)

Parameters

types IEntityInfo[]

Returns

PermissionSet

Tenant(params Guid[])

Adds access to specific tenancies.

public static PermissionSet Tenant(params Guid[] tenants)

Parameters

tenants Guid[]

Returns

PermissionSet

ToHashSet()

public HashSet<Permission> ToHashSet()

Returns

HashSet<Permission>

Union(PermissionSet, PermissionSet)

public static PermissionSet Union(PermissionSet x, PermissionSet y)

Parameters

x PermissionSet
y PermissionSet

Returns

PermissionSet

Union(PermissionSet, params PermissionSet[])

public static PermissionSet Union(PermissionSet first, params PermissionSet[] others)

Parameters

first PermissionSet
others PermissionSet[]

Returns

PermissionSet

Write(params IEntityInfo[])

Adds write access for specific entities.

public static PermissionSet Write(params IEntityInfo[] types)

Parameters

types IEntityInfo[]

Returns

PermissionSet