gpt4 book ai didi

grails - 从过滤器返回false时使URLMapping失败?

转载 作者:行者123 更新时间:2023-12-02 14:53:39 27 4
gpt4 key购买 nike

我有一个自定义URLMapping,可以捕获错误代码并调用一些代码(用于监视5xx / 4xx响应):

// Explicit error-handling for monitoring
"401"(controller:"error", action:"fail4x")
..
"501"(controller:"error", action:"fail5x")
...

我还有一个过滤器,该过滤器在闭包之前执行一些身份验证工作,如果失败则将响应状态设置为401,并且还从过滤器返回false。

问题在于URLMappings无法捕获401。根据文档,从过滤器返回false“[表明]已处理了所有将来的过滤器和操作均不应执行的响应”-因此我猜测Grails几乎丢弃了所有内容,包括处理通常会捕获其他4xx错误的URLMapping?

有没有办法解决这个问题,以便URLMappings捕获失败过滤器中的401(假设我已正确解释了发生的情况,并进行了清楚地解释!)

[使用Grails 2.1.1]

干杯。

最佳答案

找到了一种解决方案-如果筛选失败,请通过所需的操作进行重定向:

redirect(controller:"error", action:"fail4x") 
response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "blah")

这就迫使错误 Controller 触发,而无需使用URLMappings来捕获它。虽然看起来有点难看,所以请随时发表评论!

关于grails - 从过滤器返回false时使URLMapping失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15766790/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com