2012-02-23 1 views
3

Во-первых, я относительно новичок в Rails и, вероятно, пропустил что-то довольно простое.Rails devise_ldap_authenticatable Исходный вход с ошибкой

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

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

  • Используя изобрести (1.5.3)
  • Использование нетто-LDAP (0.2.2)
  • Использование devise_ldap_authenticatable (0.5.1)

флэш сообщение:

<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 

ответ

4

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

+0

Это было полезно для меня, спасибо за документирование решения. –

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