2012-05-23 2 views
4

Кто-нибудь знает, как интегрировать Active Admin с Authlogic (я использую authlogic_ldap_authenticatable gem для аутентификации в AD)? Я знаю, что Active Admin использует Devise, поэтому какие изменения я должен внести в Active Admin, чтобы он работал с Authlogic? Заранее спасибо.Active Admin + Authlogic Integration - Rails 3.2

ответ

2

Примечание: Я использовал Rails 3.2.8 и Active Admin 0.5.0, когда я это сделал.

Вот один из способов сделать это:

  1. Во-первых, обновление Gemfile путем добавления gem activeadmin и запустить rails generate active_admin:install. Они приведены в инструкции Active Admin README.

  2. Обычно уже есть модель пользователя, которая использует Authlogic, и если вы планируете использовать его, удалить все файлы для нового администратора пользователя, что вход администратора породивший по умолчанию:

    • дб/мигрирует/* _create_admin_users.rb (миграция файлы)
    • приложения/модель/admin_user.rb
    • спецификация/модель/admin_user_spec.rb
  3. Удалить Разрабатывают специфические файлы :

    • конфигурации/локалей/devise.en.yml
    • конфигурации/инициализаторы/devise.rb
  4. Удалите ссылку DEViSE в конфигурационном/routes.rb.

  5. Приведенный файл app/admin/admin_user.rb. Вы можете повторно использовать его, переименовав файл в user.rb, зарегистрировать в нем User вместо AdminUser и удалить индексы в столбцах, специфичных для Devise. Или вы можете просто удалить файл в целом и просто создать свой собственный с нуля.

  6. Update следующее в активном администратора конфигурации (см 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. Типичное приложение Rails, использующее Authlogic, может иметь метод :current_user. И config.logout_link_path должен быть установлен на ваш путь для выхода из системы, например. :logout_path.

Возможно, вам потребуется изменить эти инструкции в соответствии с вашим случаем.

+3

Если вы используете 'rails generate active_admin: install -skip-users' на шаге 1, вам не нужно делать 2/3/4/5. Вам все равно нужно сделать шаг 6.И иногда возникают проблемы с rspec ... –

Смежные вопросы