当令牌无效时,我试图阻止请求到达grails动作(“ / $ controller / $ action?/ $ id”),以便在不调用该动作的情况下将JSON响应返回给客户端< / p>
我尝试将return语句添加到代码中,但是请求仍然调用该操作。 我正在使用Java 7和较旧版本的grails(grails 2.4.3)
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)
}
}
}
}
}
}
我希望过滤器停止执行或调用该请求的请求,而是将响应发送回客户端,而不是将请求发送给下一个资源(在这种情况下为该操作),我在网上做了一些研究,但是我没有找不到任何东西,将不胜感激