Gem CanCanCan e Devise - PullRequest
       17

Gem CanCanCan e Devise

0 голосов
/ 29 мая 2018

Я использую драгоценные камни devise, cancancan и rails_admin в моем проекте.Я добавил:

before_action: authenticate_user!

в application_controller в соответствии с рекомендациями devise.

Это работает, если речь идет об административной части сайта.Корневая страница сайта не должна проходить аутентификацию, но для входа требуется авторизация.Я полагаю, это из-за помещения обратного вызова в application_controller.rb.

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

1 Ответ

0 голосов
/ 29 мая 2018

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

before_action: authenticate_user!

из ApplicationController и поместите его в тело класса контроллеров, которые должны требовать аутентификации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...