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