【问题标题】:need more than one require in flask principal在烧瓶主体中需要多个要求
【发布时间】:2013-08-14 04:21:21
【问题描述】:

我使用的是flask principal,最新版本的Flask-Principal (0.4.0)
我有一定的 url 路线,例如gpsData、报告、条目

多个用户角色可以查看单个路由
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”只有效。如果使用 admin id 登录,则会产生错误。

更新:

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

【问题讨论】:

  • 我也想要这个问题的答案...

标签: python python-2.7 flask flask-principal


【解决方案1】:

您是否尝试过使用联合?

admin_reporter_permission = admin_permission.union(reporter_permission)

【讨论】:

    猜你喜欢
    • 2014-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-01
    • 2017-03-05
    • 2020-04-08
    • 1970-01-01
    相关资源
    最近更新 更多