Flask——用户权限管理

来源:互联网 发布:淘宝首页热点 编辑:程序博客网 时间:2024/06/16 14:15

权限操作:

操作 位值 说明 关注用户 0b00000001(0x01) 关注其他用户 发表评论 0b00000010(0x02) 在别人写的文章中发表评论 写文章 0b00000100 发表文章 管理他人评论 0b00001000 查处他人不良评论 管理员 0b10000000 管理网站

可以写成一个类方便调用

class Permission:    FOLLOW=0x01    COMMENT=0x02    WRITE_ARTICLES=0x04    MODERATE_COMMEMTS=0x08    ADMINISTER=0x80

这里用了5位,剩余三位可以后续扩展

用户角色:

用户角色 权限 说明 匿名 0b00000000(0x00) 未登录的用户,只有阅读权限 用户 0b00000111(0x07) 发表文章、评论、关注,默认角色 协管员 0b00001111(0x0f) 审查不良评论 管理员 0b11111111(0xff) 所有权限,包括修改其他用户角色的权限

用户的角色,存储在数据库的User.role中

权限检查:

import Permissionclass User():    def can(self,permission):        return self.permission & permission === permission#位与操作符 &,对比两个数据,位值相同的位为1    user.can(Permission.Administer)  

在用户类中,定义实例方法can()
user.can()返回True则表示该用户角色可以执行该操作

原创粉丝点击