7
她的是我的application.rb中RoR |設計重定向循環,因爲康康舞的授權
class ApplicationController < ActionController::Base
protect_from_forgery
rescue_from CanCan::AccessDenied do |exception|
flash[:error] = "You must first login to view this page"
session[:user_return_to] = request.url
redirect_to "https://stackoverflow.com/users/sign_in"
end
end
這將重定向使用到登錄頁面,如果存取遭拒是罰球,並且用戶沒有登錄(「工作得很好」),但是一旦登錄,將會導致重定向循環,如果登錄但cancan不能授權,因爲登錄頁面將通過會話[:user_return_to] = request.url將其重定向回用戶。
問題是:如果用戶登錄但未獲得授權,如何處理此邏輯。
如果您使用devise進行身份驗證,您可以在用戶登錄時檢查'current_user' – krichard