用户角色与个人资料管理
1. 用户角色分配
在用户系统中,默认角色的分配是一个重要环节。除了管理员外,其他用户都会被分配默认角色。管理员的角色需要从一开始就被指定为 “Administrator”,其通过存储在 FLASKY_ADMIN 配置变量中的电子邮件地址来识别。一旦该电子邮件地址出现在注册请求中,就会被赋予正确的角色。以下是在 User 模型构造函数中实现这一功能的代码:
class User(UserMixin, db.Model):
# ...
def __init__(self, **kwargs):
super(User, self).__init__(**kwargs)
if self.role is None:
if self.email == current_app.config['FLASKY_ADMIN']:
self.role = Role.query.filter_by(permissions=0xff).first()
if self.role is None:
self.role = Role.query.filter_by(default=True).first()
# ...
这个构造函数首先调用基类的构造函数,然后检查对象是否已经定义了角色。如果没有,则根据电子邮件地址设置管理员角色或默认角色。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



