4

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

4

1 回答 1

2

注意:当我这样做时,我使用了 Rails 3.2.8 和 Active Admin 0.5.0。

这是一种方法:

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

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

    • db/migrate/*_create_admin_users.rb(迁移文件)
    • 应用程序/模型/admin_user.rb
    • 规格/模型/admin_user_spec.rb
  3. 删除特定于设计的文件:

    • config/locales/devise.en.yml
    • 配置/初始化程序/devise.rb
  4. 删除 config/routes.rb 中的设计引用。

  5. 有一个生成的文件app/admin/admin_user.rbuser.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.

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

于 2012-11-19T10:41:17.900 回答