Как реализовать пользовательский поставщик ролей, который поддерживает под роли? - PullRequest
0 голосов
/ 28 июля 2010

Существуют ли хорошие руководства о том, как реализовать пользовательский поставщик ролей, который поддерживает родительские и дочерние роли?

У меня есть требование иметь полномочия высокого уровня для ролей в соответствии с обычными функциями поставщика ролей. Однако у меня также есть требование к дальнейшей разбивке разрешений на под роли. Я поиграл с идеей иметь дополнительные экземпляры ролей для подчиненных разрешений, но я бы предпочел иметь собственное решение, которое допускает подчиненные роли.

Например:

[IT]

[IT]> [Admin]

[экстранет]

[Экстранет]> [Администратор]

В этом сценарии роль «Администратор» фактически представляет собой две разные роли: одну для ИТ-персонала и одну для сценариев экстрасети. В идеале не должно быть никакой связи между двумя ролями «Администратор», поскольку они являются уникальными под ролями.

[Редактировать]: После комментария Игоря я чувствую, что должен уточнить. В aspnetdb уже размещено несколько приложений, поэтому использование имени приложения невозможно для разделения под ролей, так как оно уже используется для разделения ролей по приложениям.

Ответы [ 3 ]

3 голосов
/ 28 июля 2010

1) Используйте агрегацию разрешений, почему вы должны использовать наследование? Просто назначьте пользователю роли ИТ и администратора, и их разрешения будут объединены.

2) Разделите Admin (1) и Admin (2), используя Имя приложения . Если я вас понял, это будут 2 разных приложения (в противном случае переименуйте одного администратора в другое)

Удача.

1 голос
/ 08 июля 2011

Не уверен, что вы все еще ищете жизнеспособное решение, но я недавно разработал приложение с аналогичными требованиями. Я использовал поставщика ролей для назначения основных ролей. В вашем случае это IT или Extranet. Затем назначьте каждому пользователю статус (это admin и extranet admin). Завершить сеанс при входе в систему, чтобы сохранить их статус и использовать операторы if для предоставления доступа к подчиненным страницам и представлениям.

0 голосов
/ 28 июля 2010

(вероятно, следует пометить это как asp.net)

Мне неизвестны какие-либо нативные (MS) решения, которые поддерживают роль в рамках ролевых решений.Если вам не нужно предоставлять роль внутри роли, и вы всегда можете создавать роли, такие как «IT», «IT_Admin», «Extranet» и «Extranet_Admin».

...