[Beego]三、Filter 过滤器

本文介绍了Go语言中Beego框架的过滤器功能,重点讲解了过滤器的定义和使用方法。通过在main函数中设置过滤器,可以实现在路由请求前进行认证和鉴权等操作。特别指出,若需使用session的过滤器,必须置于BeforeStatic之后,因为session初始化发生在那之后。
摘要由CSDN通过智能技术生成

过滤器的定义和使用

定义

过滤器的作用是过滤路由,对有需要的路由进行认证和鉴权之类的操作,比如:

	# 系统接口有可直接访问、需要认证(登陆)才能访问
	
	# 直接访问接口
	/
	/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
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值