我正在使用rails_admin,我非常喜欢它。唯一的问题是它与设计认证相结合,但我的整个应用程序正在实现authlogic。 有没有办法删除设计,以便我可以切换到我现有的authlogic身份验证。我用谷歌搜索但找不到:( 问候; Kshitiz
答案 0 :(得分:2)
我不知道删除设计,似乎是安装rails_admin的要求。所以即使你不使用它也需要安装它。
但是你可以让rails_admin使用authlogic进行身份验证和授权。
logged_in?
等。您可能需要在设置中使用等效方法):代码:
RailsAdmin.authenticate_with{
unless logged_in?
session[:return_to] = request.url
redirect_to login_url, :alert => "You must first log in or sign up before accessing this page."
end
}
RailsAdmin.authorize_with{
redirect_to root_path, :alert => "You are not authorized to access that page" unless current_user.admin? #or whatever you use for checking admins
}
答案 1 :(得分:0)
最近熟悉了CanCan和man,这是一个很棒的权限界面。我一直想在某些时候安装cancan,虽然它没有文档记录,但在我寻找相同的答案时我偶然发现了this pull request to rails_admin by Ryan Bates。我以此为借口安装了CanCan和RailsAdmin,并且可以确认到目前为止它们至少非常适合。
提交说明有点过时了,所以这对我有用。
在Gemfile
gem 'rails_admin', :git => 'git://github.com/sferik/rails_admin.git'
config/initializers/rails_admin.rb
中的
RailsAdmin.config do |config|
config.authorize_with :cancan
end
在你的能力中:
can :access, :rails_admin
can :history
你可能已经知道这一点,但谨慎,config/routes.rb
mount RailsAdmin::Engine => '/admin', :as => 'rails_admin'
最后,如果您以下列方式bundle install
,它将无法进入设计阶段!哈金,但比替代方案更好。
AUTHORIZATION_ADAPTER=cancan bundle install
无论如何,你可能不想要CanCan,但是如果你这样做,你可能会受到支持(尽管没有文档记录)的影响。