将Grails过滤器应用于登录URL

时间:2016-04-11 15:00:34

标签: grails

在我的Grails 2.5.X应用程序中,我正在使用Spring Security REST插件并在Config.groovy

中配置了登录URL
grails.plugin.springsecurity.rest.login.endpointUrl = '/internal/login' 

我需要对此网址应用过滤器,并尝试使用

执行此操作
class GrailsFilters {
    def filters = {
        login(uri: '/internal/login') {

            before = {
                // implementation omitted
            }

            after = { Map model ->
                // implementation omitted
            }
        }
    }
}

但由于一些奇怪的原因,过滤器永远不会被调用。登录端点是否有特殊之处,这意味着它无法过滤?

1 个答案:

答案 0 :(得分:1)

是的,它有一些特别之处。它使用servlet过滤器(其链),其优先级高于您尝试使用的Grails过滤器。

如果您需要拦截调用,则需要在Spring Security过滤器链中创建自己的过滤器。 documentation有一整段介绍细节。