Плагин Rails Dynamic Role-Based Authorization? - PullRequest
2 голосов
/ 21 июля 2010

Существует множество плагинов авторизации на основе ролей.Они прекрасно работают, когда вы заранее знаете, какими будут роли.Например, если я знаю, что у меня будут администраторы, super_users и not_so_super_users.

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

Например, Джейн Доу может добавлять и просматривать виджеты, но не может удалять или редактировать их.Джон Доу может добавлять, просматривать и редактировать.Босс может добавлять, просматривать, редактировать и удалять.Я хочу иметь возможность проверить, авторизован ли пользователь для доступа к контроллеру / действию в одной строке:

user.is_authorized?

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

Имею ли я смысл?Есть ли что-нибудь, что делает это?

Ответы [ 3 ]

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

Я бы использовал Declarative_authorization и просто создал бы несколько ролей для каждой функции.

Поэтому у меня есть особая роль для редактирования, обновления, создания, уничтожения виджета (4 разные роли).просто связать пользователя с несколькими ролями, спасает повторное воплощение колеса.

0 голосов
/ 30 марта 2012

Возможно, попробуйте canard https://rubygems.org/gems/canard, он использует всю динамическую авторизацию cancan и добавляет к ней ролиЯ написал это специально для решения этой проблемы.

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

Пожалуйста, попробуйте плагин acl9 для ролевого приложения.

acl9

...