1

我正在使用烧瓶主体,最新版本的 Flask-Principal (0.4.0)
我有某些 url 路由,例如gpsData、报告、条目

单个路由可以通过多个用户角色
url查看------------Role
gpsData -- admin,reporter,client
reports -- admin,reporter
entry -- admin,client,data_entry
eg

@login_module.route('/gpsData')
@admin.require()
@reporter.require()
@client.require()
def gpsData():
    return "only admin, reporter and client can view"  

@login_module.route('/reports')
@admin.require()
@reporter.require()
def reports():
    return "only admin and reporter can view"
   
@identity_loaded.connect_via(app)
def on_identity_loaded(sender, identity):
    #identity.provides.add(RoleNeed('report'))  
    identity.provides.add(RoleNeed(identity.id))

一次只需要一个似乎有效,就像在这种情况下,“reporter.require”只能工作。如果使用管理员 ID 登录,则会产生错误。

更新:

同样在模板中,我只想显示只能由特定用户角色查看的 url。

4

1 回答 1

0

您是否尝试过使用联合?

admin_reporter_permission = admin_permission.union(reporter_permission)
于 2014-07-15T02:21:31.520 回答