1. 过滤器
beego 支持自定义过滤中间件,例如安全验证,强制跳转等。
过滤器函数如下所示:
- pattern 路由规则,可以根据一定的规则进行路由,如果你全匹配可以用
- position 执行 Filter 的地方,五个固定参数如下,分别表示不同的执行过程
- filter filter 函数 type FilterFunc func(*context.Context)
- params
- 设置 returnOnOutput 的值(默认 true), 如果在进行到此过滤之前已经有输出,是否不再继续执行此过滤器,默认设置为如果前面已有输出(参数为true),则不再执行此过滤器
如下例子所示,验证用户是否已经登录,应用于全部的请求:
还可以通过正则路由进行过滤,如果匹配参数就执行:
beego1.1.2 开始 Context.Input 中增加了 RunController 和 RunMethod, 这样我们就可以在执行路由查找之前,在 filter 中实现自己的路由规则.