【发布时间】:2016-02-17 16:57:15
【问题描述】:
我有一个公开可用的 Rails 应用程序,但有一个只能由注册用户访问的管理仪表板。
我正在为仪表板部分使用 Thoughtbot Administrate,并且我正在尝试使用 Clearance 实现仪表板身份验证。
我的应用程序没有任何公共部分的身份验证,因此我将行 include Clearance::Controller 从 ApplicationController 移动到 Admin::ApplicationController 并将登录/注销按钮放在我仪表板的导航栏中,但是,当我单击登录按钮,该应用程序向我显示了我的应用程序的身份验证表单,而不是仪表板部分(我可以说是因为两者使用的样式不同),所以我的问题是,有没有办法安装许可仅用于管理部分,例如仅为管理命名空间安装它?
rake routes 的间隙部分是:
passwords POST /passwords(.:format) clearance/passwords#create
new_password GET /passwords/new(.:format) clearance/passwords#new
session POST /session(.:format) clearance/sessions#create
user_password POST /users/:user_id/password(.:format) clearance/passwords#create
edit_user_password GET /users/:user_id/password/edit(.:format) clearance/passwords#edit
PATCH /users/:user_id/password(.:format) clearance/passwords#update
PUT /users/:user_id/password(.:format) clearance/passwords#update
users POST /users(.:format) clearance/users#create
sign_in GET /sign_in(.:format) clearance/sessions#new
sign_out DELETE /sign_out(.:format) clearance/sessions#destroy
sign_up GET /sign_up(.:format) clearance/users#new
感谢您的帮助!
【问题讨论】:
-
rake routes的输出是什么?您的登录链接在布局中是什么样的? -
rake routes输出很长,但是我编辑了问题以显示清除部分,至于登录链接,是这个:link_to 'Sign in', sign_in_path,因为没有admin_sign_in_path。 -
您是说您只想让登录表单使用不同的布局?
-
嗨,Derek,抱歉回复晚了,这周很忙。现在,身份验证不起作用,所以我必须弄清楚我做错了什么,因为之前没问题。无论如何,我认为是的,使用 Administrate 用于登录表单的相同布局就可以了 :) 感谢您的耐心等待!
标签: ruby-on-rails authentication clearance