Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 11, 2013 10:52:56

plusplus
От:
Зарегистрирован: 2009-01-05
Сообщения: 418
Репутация: +  15  -
Профиль   Отправить e-mail  

python flask разграничение прав.

Я думаю, довольно частая задача: одним пользователям должна быть видна одна кнопка, другим не показываются какие-то урлы, третьим не показывается какой-то пункт меню. Как обычно это делают? Использовал модуль Flask-Principal, но он особо не впечатлил. Приходится в середине кода вьюхи писать условия прав доступа, затем писать код в шаблоне, чтобы линк или кнопка не отображались. И это только для одной группы пользователей. Может я просто его неправильно готовлю?



Офлайн

#2 Окт. 11, 2013 11:51:27

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

python flask разграничение прав.

Я пишу условия внутри вьюхи, если нужны небольшие изменения, не предусмотренные изначальными требованиями.
Если дошло до рефакторинга кода или только идет процесс создания системы, выделяю код, требующих особых прав доступа в отдельные вьюхи и использую декораторы типа

@editor.require(http_exception=403)
где editor - набор прав Permission на основе RoleNeed для созданной роли editor.
my_editor = RoleNeed('editor')
editor = Permission(be_editor)
@app.route('/edit')
@editor.require(http_exception=403)
def editor():
    return render_template('template.html')



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version