gpt4 book ai didi

ruby-on-rails - 使用 Sorcery 的 Rails 管理员

转载 作者:数据小太阳 更新时间:2023-10-29 07:29:10 25 4
gpt4 key购买 nike

我正在尝试安装 Rails Admin Gem使用 Sorcery用于身份验证而不是 Devise。

Rails admin 确实提供了一个钩子(Hook),您可以使用它来附加您自己的身份验证方法。 Here是他们在文档中提供的示例(使用 warden):

config.authenticate_with do
warden.authenticate! :scope => :admin
end
config.current_user_method { current_admin }

我猜想在 block 内我需要引用 Sorcery 用来验证用户身份的 before_filter,即 require_login .

但是,当我尝试这样做并尝试在注销后访问 /admin 时,出现路由错误:

No route matches {:action=>"new", :controller=>"sessions"}

这可能是因为我在引擎中而不是在主应用程序中被重定向。

如何正确设置?

最佳答案

# config/initializers/rails_admin.rb
RailsAdmin.config do |config|
config.authenticate_with do
# Use sorcery's before filter to auth users
require_login
end
end

# app/controllers/application_controller.rb
class ApplicationController
# Overwrite the method sorcery calls when it
# detects a non-authenticated request.
def not_authenticated
# Make sure that we reference the route from the main app.
redirect_to main_app.login_path
end
end

#config/initializers/rails_admin.rb
RailsAdmin.config do |config|
...
config.parent_controller = 'ApplicationController'
end

关于ruby-on-rails - 使用 Sorcery 的 Rails 管理员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9815062/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com