У меня есть требование разработать систему на основе службы WCF для фильтрации запросов по ролям в C #.
Rules
User can access X
SuperUser can access Y
Admin can access Z
Database
Resource AccessControl
X User,SuperUser,Admin
Y Admin
Z Admin
Как мне создать систему, в которой я могу преобразовать эти элементы управления доступом во что-то вроде хэша или вычисленного математического значения, чтобы мне не приходилось выполнять несколько проверок, например
If(user = RequestUser.Role.User||user = RequestUser.Role.Admin)
{}
Вместо этого сделайте что-нибудь вроде этого
Resource AccessControl someCalculatedHashValue
X User,SuperUser,Admin ????
Y Admin ????
Z Admin ????
if(user >= someCalculatedHashValue){}
Примечание: может быть один ко многим отношениям