1. 过滤器

    beego 支持自定义过滤中间件,例如安全验证,强制跳转等。

    过滤器函数如下所示:

    • pattern 路由规则,可以根据一定的规则进行路由,如果你全匹配可以用
    • position 执行 Filter 的地方,五个固定参数如下,分别表示不同的执行过程
    • filter filter 函数 type FilterFunc func(*context.Context)
    • params
    • 设置 returnOnOutput 的值(默认 true), 如果在进行到此过滤之前已经有输出,是否不再继续执行此过滤器,默认设置为如果前面已有输出(参数为true),则不再执行此过滤器

    如下例子所示,验证用户是否已经登录,应用于全部的请求:

    还可以通过正则路由进行过滤,如果匹配参数就执行:

    beego1.1.2 开始 Context.Input 中增加了 RunController 和 RunMethod, 这样我们就可以在执行路由查找之前,在 filter 中实现自己的路由规则.