过滤器函数
beego.InsertFilter(pattern string, position int, filter FilterFunc, params ...bool)
- pattern路由规则,支持正则
- position有5个固定参数,BeforeExec找到路由之后,开始执行相应的Controller之前
- filter 函数 类型为
type FilterFunc func(*context.Context是beego包下的)
。注意context.Context是beego包下的
例如:
//过滤器函数
beego.InsertFilter("/article/*",beego.BeforeExec,filterFunc)
//更改路由
beego.Router("/article/index",&controllers.ArticleController{},"get,post:ShowIndex")
filter函数
func filterFunc(ctx *context.Context){
//登录校验
userName := ctx.Input.Session("userName")
if userName == nil{
//context包中的跳转
ctx.Redirect(302,"/login")
return
}
}