对于每个用户,Beego应用程序会在以下格式下创建一个目录/static/users/
:/static/users/USER_ID/private
和/static/users/USER_ID/public
,其中 USER_ID 是每个用户的 ID。
我想保护私人文件,以便只有拥有它们的用户才能使用过滤器进行访问。
路由器中的模式如下:
beego.InsertFilter("/static/users/:userId([0-9]+)/private/*", beego.BeforeRouter, controllers.ProtectPrivateUploads)
过滤器功能如下:
var ProtectPrivateUploads = func(ctx *context.Context) {
fmt.Println("Protecting content")
}
相关 URL 具有以下形式:
domain.com/static/users/USERID/private/123135645.png
问题是过滤器函数根本没有被调用,所以我假设我一定对路由器中的模式做错了。
任何想法都会受到欢迎。