【问题标题】:Active Admin + Authlogic Integration - Rails 3.2Active Admin + Authlogic 集成 - Rails 3.2
【发布时间】:2012-11-19 18:41:17
【问题描述】:

有谁知道如何将 Active Admin 与 Authlogic 集成(我正在使用 authlogic_ldap_authenticable gem 对 AD 进行身份验证)?我知道 Active Admin 使用 Devise,那么我应该对 Active Admin 进行哪些更改才能使其与 Authlogic 一起使用?提前致谢。

【问题讨论】:

    标签: ruby-on-rails-3 authlogic activeadmin


    【解决方案1】:

    注意:我在执行此操作时使用的是 Rails 3.2.8 和 Active Admin 0.5.0。

    这是一种方法:

    1. 首先,通过添加 gem activeadmin 来更新 Gemfile,然后运行 ​​rails generate active_admin:install。这些都按照 Active Admin README 中的说明进行。

    2. 通常已经有一个使用 Authlogic 的用户模型,如果您打算使用它,请删除 Active Admin 默认生成的新管理员用户的所有文件:

      • db/migrate/*_create_admin_users.rb(迁移文件)
      • app/models/admin_user.rb
      • spec/models/admin_user_spec.rb
    3. 删除特定于设计的文件:

      • config/locales/devise.en.yml
      • config/initializers/devise.rb
    4. 删除 config/routes.rb 中的 Devise 引用。

    5. 有一个生成的文件app/admin/admin_user.rb。您可以通过将文件重命名为user.rb 来重用它,在其中注册User 而不是AdminUser,并删除特定于设计的列上的索引。或者,您可以完全删除文件,然后从头开始创建自己的文件。

    6. 在您的 Active Admin 配置中更新以下内容(请参阅 config/initializers/active_admin.rb):

      • config.authentication_method
      • config.current_user_method
      • config.logout_link_path

      默认的config.authentication_method 是:authenticate_admin_user。将其设置为您用于需要管理员用户的过滤方法之前的任何内容,例如:require_admin。默认config.current_user_method 是:current_admin_user。一个使用 Authlogic 的典型 Rails 应用程序可能有一个 :current_user 方法。 config.logout_link_path 应该设置为您的注销路径,例如:logout_path.

    您可能需要根据您的情况修改这些说明。

    【讨论】:

    • 如果你在第1步使用rails generate active_admin:install --skip-users,那么你不需要做2 / 3 / 4 / 5。你仍然需要做第6步。而且rspec有时会出现问题。 ..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-18
    • 1970-01-01
    • 1970-01-01
    • 2013-11-23
    相关资源
    最近更新 更多