2013-08-14 6 views
1

Я использую основную колбу, последняя версия Flask-Principal (0.4.0)
У меня есть определенный маршрут маршрута, например. gpsData, сообщает, запись т.д.необходимо, чтобы в колбе требовалось больше, чем одно требование

индивидуальный маршрут может быть просмотрен многократной ролью пользователя
URL-адрес ------------ Role
gpsData - администратор, репортер, клиент
отчетов - admin, репортер
запись - 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» работает только. Если вы входите в систему с использованием admin id, он генерирует ошибку.

Update:

Также в шаблоне я просто хочу показать URLs, которые можно просматривать только конкретной роли пользователя.

+0

Я тоже хочу ответить на этот вопрос ... – Asken

ответ

0

Вы пробовали использовать союз?

admin_reporter_permission = admin_permission.union(reporter_permission)