2012-02-23 3 views
3

우선, 레일스에 비교적 익숙하지 않으며, 아마도 아주 간단한 것을 간과 할 수 있습니다.레일스 devise_ldap_authenticatable 초기 로그인 실패

나는 Devisedevise_ldap_authenticatable 보석을 사용하여 Active Directory에 대한 인증을 수행하고 있습니다. 그러나 AD에 대한 인증은 사용자가 처음 로그인 할 때/login 페이지로 다시 리디렉션 될 때 작동합니다. 사용자에 대한 항목이 데이터베이스에 추가되고 플래시 메시지가 페이지에 표시됩니다 (아래 참조). 사용자가 처음으로 인증을 받고 사용자에 대한 항목이 로컬 데이터베이스에 추가되면 모든 후속 로그인이 예상대로 작동하고 사용자는 root_path로 리디렉션됩니다.

참고 : 플래시 메시지가 계속되는 것을 알고 있습니다. 뭔가 다른 것이 있기 때문에 뭔가가 devise.en.yml에없는 오류를 호출하고 있다고 의심됩니다. 그 파일을 수정하기 위해 쉽게 메시지를 추가 할 수 있습니다. 문제 해결을 돕기 위해 문제를 해결했습니다. 올바른 번역이 될 것으로 의심됩니다 : en.devise.sessions.signed_in : 'Signed in successfully.' NET-LDAP를 사용

  • 사용 수립 (1.5.3)
  • 은 (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

아마 신인 실수, 나는 응용 프로그램/모델/user.rb에서 :validatable을 제거 결국 모든 것이 예상대로 일 . 바라기를 이것은 나가 누군가처럼 좌절되는에서 누군가를 제외하고.

+0

솔루션을 문서화 해 주셔서 감사합니다. –