Ruby on rails Rails设计可验证的ldap初始登录失败

Ruby on rails Rails设计可验证的ldap初始登录失败,ruby-on-rails,devise,ldap,Ruby On Rails,Devise,Ldap,首先,我对Rails比较陌生,可能忽略了一些非常简单的东西 我正在使用和Gems对Active Directory执行身份验证。但是,当用户第一次登录时,AD的身份验证工作正常,用户被重定向回/login页面。用户的条目将添加到数据库中,页面上会显示一条flash消息(见下文)。一旦用户第一次通过身份验证,并且用户的条目已添加到本地数据库中,所有后续登录将按预期工作,并且用户将重定向到根路径 注意:我知道flash消息是怎么回事,我只是怀疑Desive.en.yml中不存在的调用错误是因为其他错

首先,我对Rails比较陌生,可能忽略了一些非常简单的东西

我正在使用和Gems对Active Directory执行身份验证。但是,当用户第一次登录时,AD的身份验证工作正常,用户被重定向回/login页面。用户的条目将添加到数据库中,页面上会显示一条flash消息(见下文)。一旦用户第一次通过身份验证,并且用户的条目已添加到本地数据库中,所有后续登录将按预期工作,并且用户将重定向到根路径

注意:我知道flash消息是怎么回事,我只是怀疑Desive.en.yml中不存在的调用错误是因为其他错误。我可以很容易地向该文件添加一条消息来修复该问题。我留下问题来帮助排除故障。我怀疑正确的翻译应该是:en.devise.sessions.signed_in:“signed in successfully”

  • 使用装置(1.5.3)
  • 使用NetLDAP(0.2.2)
  • 使用Desive_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
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
应用程序\u控制器.rb:

<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
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
class ApplicationControllerexception,:status=>500
结束
保护你不被伪造
#需要对用户进行身份验证才能显示页面。
过滤前:验证用户身份!
结束

可能是新手犯的错误,我最终从app/models/user.rb中删除了
:validatable
,一切正常。希望这能让一些人不再像我一样沮丧。

这对我很有帮助,感谢您记录解决方案。