Авторизация в Rails 3 зависит от переменных (не только пользовательский и текущий ресурс) - PullRequest
1 голос
/ 28 марта 2011

Я использовал cancan и знаю о декларативной авторизации, но, похоже, они не дают возможности ролям зависеть от пользовательских переменных.

Модели:

  • Домены (blah.qwe.com, wer.qwe.com, ert.qwe.com) - они нужны мне в одной БД и приложении.

  • Пользователи (могут иметь несколькороли)

  • Роли (каждая роль работает только в своей области; возможности доступны для редактирования)

  • ...

Например, у меня есть пользователь, он владелец домена blah.qwe.com, но он простой пользователь на wer.qwe.ru, а на ert.qwe.com он забанен и вообще ничего не может сделать.

@ current_domain загружается в before_filter (методом current_domain) в контроллере приложения, а current_user загружается устройством devise. Каково решение, чтобы сделать авторизацию зависимой от запрашиваемого в данный момент ресурса (как в cancan), current_user и current_domain (и, возможно, с другими загруженными переменными before_filter)? Есть ли решение в cancan, или я должен изменить его или написать свойсобственная система авторизации?

1 Ответ

2 голосов
/ 29 марта 2011

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

...