如何使用带有flask-principal(安全性)的Flask-admin来按角色处理用户?

时间:2014-08-08 00:39:59

标签: python flask flask-extensions

我已经有了自定义adminindex with flask-login,我有一些sqlalchemy模型视图。我只是使用is_accessible()来处理要显示的内容:登录表单或模型视图。

class BaseAdminController(ModelView):
    column_exclude_list = ('created_on','modified_on')
    def is_accessible(self):
        return login.current_user.is_authenticated()

例如,我有两种用户类型 - 版主和用户。如何仅为用户和主持人显示其他所有视图?

1 个答案:

答案 0 :(得分:1)


要仅为主持人提供某些视图,您可以执行类似

的操作
def is_accessible(self):
    if not login.current_user.is_authenticated():
        return False
    if not is_moderator(login.current_user):
        return False
    return True

然后在is_moderator中检查该用户是否为“版主”类型。您没有提到如何在数据模型中存储用户类型,因此我无法帮助您使用is_moderator函数。