我正在使用devise_ldap_authentication gem设置登录名。有时LDAP服务器已关闭,但出现以下错误 “ Net :: LDAP ::错误位于/ users / sign_in 连接超时-用户指定的超时”。
我尝试了多种方法来处理所引发的错误,但我做不到。
动作控制器:
class SessionsController < Devise::SessionsController
def create
begin
resource = warden.authenticate!(:scope => resource_name, :recall => "#{controller_path}#new")
set_flash_message(:notice, :signed_in) if is_navigational_format?
sign_in(resource_name, resource)
redirect_to root_path
rescue Net::LDAP::LdapError
respond_to do |format|
format.html {redirect_to new_user_session_path, :notice => $!.to_s}
format.json {render json: $!.to_s}
end
end
end
end
我想检查连接服务器,如果不起作用,请使用本地凭据对用户进行身份验证。