当Warden中的身份验证策略失败时,可以将消息传递给fail!
方法。如何在我的默认故障应用程序操作中访问此消息,以便我可以在Flash消息中显示它?我尝试request.env['warden'].message
,但在查看Warden::Proxy
的代码后,此变量仅设置为获胜策略。想法?
答案 0 :(得分:3)
使用失败或失败时!方法,您可以从环境监护人对象中获取失败消息。
示例:
def unauthenticated
flash[:alert] = env["warden"].message unless env["warden"].message.blank?
end
http://www.rubydoc.info/github/hassox/warden/Warden/Proxy#message-instance_method
答案 1 :(得分:0)
使用throw(:warden, :foo => 'bar')
或许是一种不同的策略失败方式(来自最近的文档)。您投掷的任何内容都将通过request.env['warden.options']
在您的失败申请中提供,包括一串所需的网址。 HTH