beego | ORM 过滤器函数

beego.InsertFilter(pattern string, position int, filter FilterFunc, params ...bool)

pattren 路由规则,可以根据一定的规则进行路由,如果你全匹配可以用

position执行Filter的地方,五个固定参数如下,分别表示不同的执行过程时间点

BeforeStatic 静态地址之前

BeforeRouter 寻找路由之前

BeforeExec 找到路由之后,开始执行响应的Controller之前

AfterExce 执行完Controller逻辑之后执行的过滤器

FinishRouter 执行逻辑之后执行的过滤器

var BeforeExecFunc = func(ctx *context.Context) {
    userName := ctx.Input.Session("userName")
    if userName == nil{
        ctx.Redirect("/login", 302)
    }
)
beego.InsertFilter("/login", beego.BeforeExec, BeforeExecFunc)
注意:导包要导入beego的context
import “github.com/astaxie/beego/context”

func init() {
  beego.InsertFilter("?=/Article/*", beego.BeforeRouter, FilterFunc)  
}

var FilterFunc = func(ctx *context.Context)() {
    userName := ctx.Input.Session("userName")
    if userName == nil {
          ctx.Redirect()
     }    
}

过滤器,过滤出需要验证登陆的路由,验证session。

posted @ 2018-11-26 20:35  猴里吧唧  阅读(1872)  评论(0)    收藏  举报