作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在遵循Flask-potion教程并尝试保护我的api。我一直试图找出如何在User端点上设置权限,以使一个User无法查看另一个User的记录。这是我的代码:
class UserResource(PrincipalResource):
class Meta:
model = User
permissions = {
'read': 'id'
}
class ArticleResource(PrincipalResource):
class Schema:
author = fields.ToOne('user')
class Meta:
model = Article
read_only_fields = ['author']
permissions = {
'create': 'editor',
'update': ['user:author', 'admin']
}
最佳答案
Flask-Principals中的所有“需求”都是元组。您编写的UserResource的权限配置{'read': 'id'}
与RoleNeed ('role', 'id')
匹配。您要匹配('id', user_id)
之类的东西。不幸的是,目前尚不支持。
但是,您可以匹配的是ItemNeed,例如('read', user_id, 'user')
。要匹配该ItemNeed,请将您的权限配置设置为{'read': 'read'}
,然后在加载您的身份时,只需添加以下项目权限即可:
identity.provides.add(ItemNeed('read', current_user.id, 'user'))
关于flask - Flask-Potion + Flask-Principal锁定用户资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33924937/
我正在遵循Flask-potion教程并尝试保护我的api。我一直试图找出如何在User端点上设置权限,以使一个User无法查看另一个User的记录。这是我的代码: class UserResourc
有没有办法为基于 flask-potion 的应用程序创建 Swagger-API UI 文档?我试过使用“flasgger”,但它不适用于使用药水类型路线编写的路线。 Flask-potion 有一
我是一名优秀的程序员,十分优秀!