Rails devise_ldap_authenticatable Ошибка первоначального входа - PullRequest
3 голосов
/ 23 февраля 2012

Во-первых, я относительно новичок в Rails и, возможно, пропустил что-то довольно простое.

Я использую Devise и devise_ldap_authenticatable Gems для выполнения аутентификациипротив Active Directory.Аутентификация в AD работает, однако, когда пользователь входит в первый раз, он перенаправляется обратно на страницу / login.Запись для пользователя добавляется в базу данных, и на странице появляется флэш-сообщение (см. Ниже).Как только пользователь прошел аутентификацию в первый раз, и запись для пользователя была добавлена ​​в локальную базу данных, все последующие входы в систему работают, как ожидается, и пользователь перенаправляется в root_path.

Примечание: я знаю, что происходитс флэш-сообщением я просто подозреваю, что что-то вызывает ошибку, которой нет в devise.en.yml, потому что что-то не так.Я могу легко добавить сообщение в этот файл, чтобы исправить это.Я оставил проблему, чтобы помочь с устранением неполадок.Я подозреваю, что правильным переводом будет: en.devise.sessions.signed_in: 'Вход выполнен успешно.'

  • Использование devise (1.5.3)
  • Использование net-ldap (0.2.2)
  • Использование devise_ldap_authenticatable (0.5.1)

Flash-сообщение:

<div class="notice">translation missing: en.devise.user.user.signed_in</div>

СоответствуетМаршруты:

devise_for :users, :skip => [:sessions]
as :user do
    get "/login", :to => "user#new", :as => :new_user_session
    post "/login", :to => "user#create", :as => :user_session
    delete "/logout", :to => "user#destroy", :as => :destroy_user_session
end

application_controller.rb:

class ApplicationController < ActionController::Base
    rescue_from DeviseLdapAuthenticatable::LdapException do |exception|
        render :text => exception, :status => 500
    end
    protect_from_forgery

    # Require user to be authenticated to dispay the page.
    before_filter :authenticate_user!
end

1 Ответ

4 голосов
/ 24 февраля 2012

Вероятно, ошибка новичка, в итоге я удалил :validatable из app / models / user.rb, и все заработало как надо. Надеюсь, это спасет кого-то от такого же разочарования, как и я.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...