AD поддерживает концепцию группы, являющейся членом другой группы?
Таким образом, вы можете иметь следующее:
Пользователи: Энн, Боб, Чарли, Дуглас, Эллиот, Фред и Джордж.
Роли: Нормальный, Редактор, Администратор
Затем определите каждую группу как:
Администратор имеет следующих членов: Джордж
Редактор имеет следующих членов: "Администратор", Дуглас, Эллиот
Обычный имеет следующих членов: «Редактор», «Администратор», Энн, Боб, Чарли
Таким образом, вы знаете, что Джордж является членом группы «Обычный», «Редактор» и «Администратор», поскольку все члены группы «Администратор» включены в эти группы, в то время как Дуглас - только член группы «Редактор» и «Обычный», а Анна - просто обычный пользователь, и AD сказал бы: « да, Джордж - обычный пользователь », если вы спросите его.
ОДНАКО: Не существует (насколько мне известно) официальной MS поддерживаемой ActiveDirectory RoleProvider , которая бы заполняла RolesPrinciple правильными ролями AD - есть пара там как этот на CodePlex что вы определили в качестве поставщика ролей?
Поставщик ролей ASP.NET по умолчанию не поддерживает иерархии ролей, поэтому вам может потребоваться либо:
- Поместите пользователя в каждую роль, к которой у него есть доступ, и проверяйте только интересующую вас роль.
- Предоставьте пользователю наиболее мощную роль, к которой он может получить доступ, а затем проверьте каждую роль, к которой он должен иметь доступ.
- Записать / найти поставщика ролей , который поддерживает иерархии - просто верните true, если пользователь находится в роли более высокого порядка.