定义
过滤器的作用是过滤路由,对有需要的路由进行认证和鉴权之类的操作,比如:
# 系统接口有可直接访问、需要认证(登陆)才能访问
# 直接访问接口
/
/login
/register
....
# 认证可访问
/api/user
/api/good
/api/device
....
Beego过滤器定义方式
位置: main.go main函数中beego.Run() 之前
beego.InsertFilter(pattern string, position int, filter FilterFunc, params …bool)
第一个参数表示过滤的路由规则,支持通配符
第二个参数就是过滤器的位置,beego支持的有5种
* BeforeStatic 静态地址之前
* BeforeRouter 寻找路由之前
* BeforeExec 找到路由之后,开始执行相应的 Controller 之前
* AfterExec 执行完 Controller 逻辑之后执行的过滤器
* FinishRouter 执行完逻辑之后执行的过滤器
第三个参数为执行的函数func(*context.Context) 参数必须是context.Context , context是beego包下的
其他参数:使用默认得到true即可
使用
示例:
// main.go