【发布时间】:2012-11-06 23:18:50
【问题描述】:
当登录过程中出现 ldap 错误时,我想显示我的登录页面,并显示“系统此时无法让您登录。请稍后再试”之类的错误消息。
目前,我使用了 custom_failure.rb 方法,如 https://github.com/plataformatec/devise/wiki/How-To:-Redirect-to-a-specific-page-when-the-user-can-not-be-authenticated 它能够捕获无效用户名/密码之类的错误,我已将其重定向到登录页面 根据需要显示错误消息,没有问题。 但是这种方法无法捕获 ldap 错误。
这些 ldap 错误显示为一个非常原始的 html 页面,如下所示:
Devise::SessionsController#create 中的 Errno::ETIMEDOUT
连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应。 - 连接(2)
Rails.root: C:/extratxt/2.2.0/source/ruby/messaging 应用程序跟踪 |框架跟踪 |全程跟踪
请求
参数:
{"utf8"=>"✓",
"user"=>{"username"=>"administrator",
"password"=>"[FILTERED]",
"remember_me"=>"0"},
"commit"=>"Sign in"}
显示会话转储
显示环境转储 回应
标题:
无
我怎样才能防止这种情况,而是显示我指定的页面(例如带有我自己的错误消息的登录页面)? 任何想法 ?谢谢
【问题讨论】:
标签: ruby-on-rails devise ldap