Найти - Пользователи
Полная версия: python flask разграничение прав.
Начало » Web » python flask разграничение прав.
1
plusplus
Я думаю, довольно частая задача: одним пользователям должна быть видна одна кнопка, другим не показываются какие-то урлы, третьим не показывается какой-то пункт меню. Как обычно это делают? Использовал модуль Flask-Principal, но он особо не впечатлил. Приходится в середине кода вьюхи писать условия прав доступа, затем писать код в шаблоне, чтобы линк или кнопка не отображались. И это только для одной группы пользователей. Может я просто его неправильно готовлю?
Lexander
Я пишу условия внутри вьюхи, если нужны небольшие изменения, не предусмотренные изначальными требованиями.
Если дошло до рефакторинга кода или только идет процесс создания системы, выделяю код, требующих особых прав доступа в отдельные вьюхи и использую декораторы типа
@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')
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB