Java 有没有一种方法可以防止请求通过过滤器到达grails中的操作

Java 有没有一种方法可以防止请求通过过滤器到达grails中的操作,java,spring,spring-boot,grails,groovy,Java,Spring,Spring Boot,Grails,Groovy,当令牌无效时,我试图阻止请求到达grails操作(“/$controller/$action?/$id”),以便它在不调用操作的情况下将JSON响应返回给客户端 我尝试将return语句添加到代码中,但请求仍会调用该操作。 我正在使用Java7和grails的旧版本(Grails2.4.3) 我希望过滤器阻止请求执行操作或调用它,而是将响应发送回客户端,而不是将请求发送给下一个资源在这种情况下,我在网上做了一些研究,但没有发现任何东西,任何帮助都将不胜感激您必须在过滤器之前从获得帮助,以防止调用

当令牌无效时,我试图阻止请求到达grails操作(“/$controller/$action?/$id”),以便它在不调用操作的情况下将JSON响应返回给客户端

我尝试将return语句添加到代码中,但请求仍会调用该操作。 我正在使用Java7和grails的旧版本(Grails2.4.3)

我希望过滤器阻止请求执行操作或调用它,而是将响应发送回客户端,而不是将请求发送给下一个资源在这种情况下,我在网上做了一些研究,但没有发现任何东西,任何帮助都将不胜感激

您必须在过滤器之前从
获得帮助,以防止调用该操作。在上面的源代码中,过滤器不会返回任何内容。

谢谢@Dónal它工作了,我尝试返回false,但我没有将它正确地放在代码中
        class ShiroSecurityFilters {
        def filters = {
            vueJsFilter(uri: '/api/**'){
                def userObject = null
                def response_data = null
                before = {
                    def authorization_header = request.getHeader("Authorization")
                    if (authorization_header){
                        def authorization = authorization_header.split(' ')[1]
                        userObject = Collaborateur.findByAccessToken(authorization)
                        if (userObject){
                            println "Welcome Back, $userObject"
                        }else{
                            response_data = [
                                title: "filter token error"
                            ]
                            response.status = 401
                            render(response_data as JSON)
                        }
                    }
                }
            }
        }
    }