有谁知道如何将 Active Admin 与 Authlogic 集成(我正在使用 authlogic_ldap_authenticable gem 对 AD 进行身份验证)?我知道 Active Admin 使用 Devise,那么我应该对 Active Admin 进行哪些更改才能使其与 Authlogic 一起使用?提前致谢。
1 回答
注意:当我这样做时,我使用了 Rails 3.2.8 和 Active Admin 0.5.0。
这是一种方法:
首先,通过添加更新 Gemfile
gem activeadmin
,然后运行rails generate active_admin:install
. 这些按照 Active Admin README 中的说明进行。通常已经有一个使用 Authlogic 的用户模型,如果您打算使用它,请删除 Active Admin 默认生成的新管理员用户的所有文件:
- db/migrate/*_create_admin_users.rb(迁移文件)
- 应用程序/模型/admin_user.rb
- 规格/模型/admin_user_spec.rb
删除特定于设计的文件:
- config/locales/devise.en.yml
- 配置/初始化程序/devise.rb
删除 config/routes.rb 中的设计引用。
有一个生成的文件
app/admin/admin_user.rb
。user.rb
您可以通过将文件重命名为、在其中注册User
而不是AdminUser
、并删除特定于设计的列上的索引来重用它。或者,您可以完全删除文件,然后从头开始创建自己的文件。在您的 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
.
您可能需要根据您的情况修改这些说明。