Flask 安全 - 检查用户拥有的角色

Dav*_*lez 5 python flask flask-sqlalchemy flask-security

我正在查看flask-security api,但没有看到任何返回特定用户拥有的角色列表的函数。无论如何要返回用户拥有的角色列表?

lar*_*ari 6

如果您查看该has_role(...)方法是如何定义的,它只是简单地遍历self.roles. 所以roles用户中的属性是一个Role对象列表。

您需要按照此处的示例定义您的UserRole模型,以便模型与属性中的模型集具有多对多关系。UserRoleUser.roles

# This one is a list of Role objects
roles = user.roles
# This one is a list of Role names
role_names = (role.name for role in user.roles)
Run Code Online (Sandbox Code Playgroud)