一路 Ctrl+C Ctrl+V 过来发现没的 Ctrl 了
接口数据是这样的
- rs = {
- "id":fields.Integer,
- "name":fields.String,
- "url":fields.String,
- "status":fields.Integer,
- "pic":fields.String,
- "cate":fields.Nested({
- "name":fields.String
- }),
- "topic":fields.Nested({
- "name":fields.String
- }),
- "permission":fields.Integer
- }
复制代码
测试的时候使用装饰器限制访问图片地址来实现权限控制,正式开始写了发现有大问题,Permission是权限,不是角色,这样限制的是整个路由的权限,跟图片一点关系都没有
- @api_bp.route("/images/<filename>")
- @jwt_required
- @permission_required(Permission.VIP2)
- @limiter.limit("5/minute", exempt_when=getuser) # 解除高级别用户组接口调用限制
- def get_image(filename):
- # current_app.logger.error("ERROR!!!!!")
- basepath = os.getcwd()
- upload_path = os.path.join(basepath, 'upload/image/')
- return send_from_directory(upload_path, filename)
复制代码
想问下大佬们这玩意一般咋限制?
如果通过get 请求时查询 video.permission返回不同数据,这样没权限的话连图片都看不到。
抓包了几个app接口全加密的,啥都瞅不见。
|