Система ролей и привилегий на C#

Как на C# можно сделать тонко настраиваемую систему прав и привилегий (Пример на картинке)? Как я понял, это можно сделать, работая с битами.

Пример тонкой настройки ролей


Ответы (1 шт):

Автор решения: rotabor

Да, можно битами:

[Flags]
enum Rights {
    None = 0,
    Editing = 1,
    Creation = 2,
    Copying = 4,
    Making = 8,
    CancelingMake = 16,
    // ...
    All = Int32.MinValue // for up to 32 rights
}

Rights currentRights = Rights.All;
var allowed = currentRights.HasFlag(Rights.Creation); // true 

Enum Class.

→ Ссылка