Grials3 过滤器与拦截器

Grials3 过滤器与拦截器

grails2.x只有Filter,而grails3用Inerceptor代替filter了,若想继续用2.x类似的过滤器可以在gradle中加入:

compile 'org.grails:grails-plugin-filters:3.0.12'

也可以用java的方式实现Filter,然后在resources.groovy中注入

拦截器用法:

  1. 可以在构造函数中指定过滤条件,比如只过滤某个控制器某个方法等
  2. 可以在before、after、afterView中进行处理
package com.interceptor

import com.filter.JsoupUtils

/**
* xss拦截器
*/
class XssInterceptor {

XssInterceptor() {
matchAll()
// match(controller: "*",action: "*").except(action: "login")
}

boolean before() {
params.each {
if(it.value && it.value instanceof String) {
it.value = JsoupUtils.cleanXss(it.value)
}
}
true
}

boolean after() { true }

void afterView() {
// no-op
}
}
  • 发表于 2018-03-30 13:58
  • 阅读 ( 1791 )
  • 分类:grails

0 条评论

请先 登录 后评论
不写代码的码农
Jonny

程序猿

65 篇文章

作家榜 »

  1. 威猛的小站长 124 文章
  2. Jonny 65 文章
  3. 江南烟雨 36 文章
  4. - Nightmare 33 文章
  5. doublechina 31 文章
  6. HJ社区-肖峰 29 文章
  7. 伪摄影 22 文章
  8. Alan 14 文章