Flask 用户权限划分
最近学习了下用户权限划分的数据库结构,并且结合到了 Flask 和 SQLAlchemy 中
- [基础表]
- [用户表]
- [角色表]
- [权限表]
- [菜单表]
- [关联表]
- [用户角色表]
- [角色权限表]
- [角色菜单表]
- [SQLAlchemy]
- [与 Flask 结合]
首先是数据库的整体结构图(简化版)
基础表#### 用户表
class UserModel(db.Model):
__tablename__ = 'user'
username = db.Column(db.String(50))
password = db.Column(db.String(128))
email = db.Column(db.String(128))
mobile = db.Column(db.String(11))
name = db.Column(db.String(50))
gender = db.Column(db.SmallInteger) # 0 未知, 1 男 2 女
角色表
class RoleModel(db.Model):
__tablename__ = 'role'
name = db.Column(db.String(20))
权限表
class PermissionModel(db.Model):
__tablename__ = 'permission'
name = db.Column(db.String(50))
action = db.Column(db.String(250), unique=True)
菜单表
class MenuModel(db.Model):
__tablename__ = 'menu'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50))
icon = db.Column(db.String(50))
url = d