2011-04-28 3 views
0

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

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

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

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

ответ

0

Встроенный поставщик авторизации, который использует существующие классы Role и User, слишком привязан к Request and Response и базовому соединению Http. Поэтому не рекомендуется использовать эти классы для вашего дела.

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

Смежные вопросы