繁体   English   中英

Devise authenticate_user 重定向到新的 session 路径

[英]Devise authenticate_user redirects to new session path

Devise authenticate_user! 方法重定向到新的 session 路径Users::SessionsController#new 有没有办法将其配置为重定向到新的用户路径?

Started GET "/" for ::1 at 2020-08-21 22:54:20 -0700
Processing by WelcomeController#index as HTML
Completed 401 Unauthorized in 2ms (ActiveRecord: 0.0ms | Allocations: 1174)


Started GET "/users/login" for ::1 at 2020-08-21 22:54:20 -0700
Processing by Users::SessionsController#new as HTML

默认情况下,当您按下登录按钮时,它会调用会话 controller 的创建方法来启动用户的 session。

session_controller.rb

 # POST /resource/sign_in

  def create
    self.resource = warden.authenticate!(auth_options)
    set_flash_message!(:notice, :signed_in)
    sign_in(resource_name, resource)
    yield resource if block_given?
    respond_with resource, location: after_sign_in_path_for(resource)
  end

这个方法的最后一行是在_sign_in_path_for之后调用另一个方法。 默认情况下,after_sign_in_path_for go 到路由路径中定义的根 URL。 您可以在应用程序 controller 中覆盖此方法。

application_controller.rb

def after_sign_in_path_for(user)
   stored_location_for(user) || new_user_url(user)
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM