Ограничить доступ к сайтам admin / * с помощью cancan - PullRequest
0 голосов
/ 15 февраля 2019

Я создаю приложение, которое имеет две пользовательские модели: user и user_admin, user_admin предоставляется с activeadmin через devise и user также было создано с помощью devise.Я создал главную страницу, некоторые ресурсы и страницу администратора, теперь я хочу ограничить доступ к любой странице администратора через cancan.Итак, подведем итог:

  1. Пользователь находится на главной странице, затем перейдите на ту же другую страницу, разработайте его перенаправив на sign_in

  2. послеВойдите в систему, пользователь может просматривать страницы, но если он захочет зайти, администратор cancan должен предоставить ему 404 или предоставить доступ к страницам администратора, только если у него есть роль администратора, тогда он должен войти в систему с другой учетной записью user_admin.

Итак, как я могу описать в ability ограничение для страниц администратора, некоторые проблемы: я не знаю, где находится Admin::DashboardController#index, поэтому я не могу проверить здесь роль и сделать перенаправление404 Кроме того, активный администратор генерирует динамические маршруты, поэтому я тоже не могу его использовать.

Как мне заставить его работать?

...