Разрешения для конкретных элементов на сайте ASP.NET MVC - PullRequest
0 голосов
/ 28 апреля 2011

Я создаю свой первый сайт в ASP.NET MVC и хотел бы узнать, как настроить права доступа или роли на основе определенного элемента для конкретного пользователя.

На моем сайте есть проектыи пользователи, каждый из которых может быть участником одного или нескольких проектов.Каждому пользователю, который является участником проекта, будет назначено определенное количество ролей по отношению к этому проекту.Но каждому пользователю могут быть назначены разные роли для каждого проекта, членом которого он является.

Могу ли я в любом случае воспользоваться встроенными ролями членства, чтобы сделать что-то подобное?Из того, что я вижу, назначение пользователя роли, примененной ко всему сайту, а не конкретному элементу, например проекту.

Я думал о создании ролей путем объединения ProjectId и роли проекта в одну объединенную роль,как 3213ProjectEditor.Итак, позже я мог бы использовать User.IsInRole(currentProject.ID+"ProjectEditor"), чтобы определить, является ли пользователь редактором в currentProject.Это кажется мне хаком.

1 Ответ

0 голосов
/ 28 апреля 2011

Встроенный поставщик авторизации, который использует существующие классы ролей и пользователей, слишком привязан к запросам и ответам и базовому Http-соединению. Так что не стоит использовать эти классы для вашего случая.

Однако вы можете получить встроенный источник классов здесь для справки и создать свои собственные доменные модели.

...