2011-06-06 3 views
2

J'utilise rails_admin et je l'ai beaucoup aimé. Le seul problème est qu'il est couplé avec un dispositif pour l'authentification, mais toute mon application met en œuvre authlogic. N'y a-t-il aucun moyen de supprimer l'outil afin de pouvoir basculer vers mon authentification authlogic existante. Je googlé mais n'a pas trouvé :( Cordialement, KshitizImplémentation d'authlogic pour rails_admin

Répondre

2

Je ne sais pas sur la suppression de concevoir, il semble être une exigence pour l'installation rails_admin donc vous devez l'installer même si vous ne le faites pas. l'utiliser.

Mais vous pouvez faire authlogic rails_admin d'utilisation pour l'authentification et l'autorisation comme si.

  • Dans votre dossier config/initializers, créez un nouveau appels de fichiers rails_admin.rb
  • Mettez les éléments suivants à l'intérieur du fichier (notez que j'ai utilisé nifty_genera J'ai donc besoin de méthodes auxiliaires comme logged_in? etc. Vous devrez peut-être utiliser les méthodes équivalentes dans votre configuration):
  • Maintenant, redémarrez votre serveur!

code:

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 
} 
0

Récemment familiarisées avec CanCan, et l'homme, il est une grande interface d'autorisations d'avoir autour. J'avais voulu installer cancan à un certain point, et bien que ce soit extrêmement non documenté, je suis tombé sur this pull request to rails_admin by Ryan Bates dans ma recherche de la même réponse. J'ai utilisé cela comme excuse pour installer à la fois CanCan et RailsAdmin, et je peux confirmer que jusqu'à présent, au moins, ils correspondent très bien ensemble. Les instructions de validation sont un peu datées, alors voici ce qui a fonctionné pour moi.

dans votre Gemfile

gem 'rails_admin', :git => 'git://github.com/sferik/rails_admin.git' 

dans config/initializers/rails_admin.rb

RailsAdmin.config do |config| 
    config.authorize_with :cancan 
end 

Dans vos capacités:

can :access, :rails_admin 
can :history 

vous le savez probablement déjà, mais la prudence, dans config/routes.rb

mount RailsAdmin::Engine => '/admin', :as => 'rails_admin' 

Enfin, si vous bundle install de la manière suivante, il ne tirera pas dans concevoir! Hackish, mais mieux que l'alternative.

AUTHORIZATION_ADAPTER=cancan bundle install 

Quoi qu'il en soit, vous pourriez ne pas vouloir Cancan, mais si vous le faites, vous serez probablement content d'avoir ce travail d'une manière soutenue (bien que non documentée).

Questions connexes