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。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM