1

私はflaskプリンシパル、最新バージョンのFlask-Principal(0.4.0)を使用していますgpsData、レポート、エントリなど
の特定のURLルートがあります

個々のルートは、複数のユーザー ロールで表示できます
url------------ ロール
gpsData -- 管理者、レポーター、クライアント
レポート -- 管理者、レポーター
エントリ -- 管理者、クライアント、data_entry
など

@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」のみが機能しているように、一度に1つのrequireのみが機能するようです。管理者 ID を使用してログインすると、エラーが発生します。

アップデート:

また、テンプレートでは、特定のユーザー ロールのみが表示できる URL を表示したいだけです。

4

1 に答える 1

0

ユニオンを使ってみましたか?

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