레일 4 프로젝트에서, 내가 만든 블로어가 있습니다. Rails Guides 그런 다음 내 앱에 마운트합니다. 모두 문제없이 잘됩니다.탑재 된 엔진 내에서 선언적 승인을 사용할 때 리디렉션 오류가 발생했습니다.
현재 응용 프로그램은 declarative_authorization을 사용합니다. 그것은 내 응용 프로그램 내에서 잘 작동합니다. filter_resource_access
엔진 컨트롤러에서 리디렉션 오류가 발생합니다. 허가 후
로그인 거부 :
: Redirected to http://0.0.0.0:3000/blog/
: Filter chain halted as :filter_access_filter rendered or redirected
: Completed 302 Found in 3ms (ActiveRecord: 0.3ms)
고마워합니다.
일부 코드 : 엔진 application_controller.rb
module Blorgh
class ApplicationController < ActionController::ApplicationController
end
end
엔진 posts_controller.rb
module Blorgh
class PostsController < ApplicationController
before_action :set_post, only: [:show, :edit, :update, :destroy]
filter_resource_access
...
엔진 routes.rb
Blorgh::Engine.routes.draw do
resources :posts do
resources :comments
end
root to: "posts#index"
end
응용 프로그램
routes.rbmount Blorgh::Engine, at: "/blog"
엔진의 filter_resource_access를 제외하고 모든 것이 평범하지 않습니다. 엔진 컨트롤러의 current_user.inspect는 올바른 출력을 반환합니다. 이는 엔진을 통해 응용 프로그램의 메서드에 액세스 할 수 있음을 의미합니다. filter_resource_access가 권한 거부를 반환 할 때 사용자를 응용 프로그램 홈으로 리디렉션하는 방법을 알아야합니다.
더 많은 코드가 필요하면 알려주십시오.
다시 한번 감사드립니다.
당신에게 실제 코드를 게시하고 싶을 수도 있습니다. 당신이 말한 것에서 무슨 일이 일어나고 있는지 짐작하기는 어렵습니다. – Nikolay