Обход пользовательского метода аутентификации для активных административных рельсов - PullRequest
0 голосов
/ 04 августа 2020

У меня application_controller.rb как

attr_reader :current_user
private
def authenticate_request
    headers = request.headers
    uid = headers['uid']
    response = User.find_by(:UID => uid)
    @current_user ||= response
    render(json: { message: 'failed', error: "User Could'nt able to authenticate" }, status: :unprocessable_entity) && return unless response
end

Когда я запускаю сервер rails и пытаюсь открыть http://localhost: 3000 / admin /, я получаю код ошибки как

{"message": "failed", "error": "Пользователь не может аутентифицироваться"}

Как обойти этот настраиваемый метод Authenticate_request для активного администратора. Я не могу найти контроллер, связанный с активным администратором, в папке контроллера.

1 Ответ

0 голосов
/ 05 августа 2020

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

skip_before_action :authenticate_request, only: [:index]

Здесь я предполагаю, что вы хотите пропустить проверку для метода индекса, если вы хотите того же для других, просто добавьте этот метод, например:

skip_before_action :authenticate_request, only: [:index, :show, :destroy]

, если вы предпочитаете пропустить проверку для всех методов в контроллере, тогда выполните только:

 skip_before_action :authenticate_request
...