使用Python+Flask+Bootstrap实现一个简单的用户权限管理(RBAC)(Part3)

本文档介绍了使用Python Flask和Bootstrap构建的简单用户权限管理(RBAC)系统的代码结构和说明。内容包括:初始化数据库的SQL脚本、用户表、角色表、菜单表和角色映射菜单的创建;run.py主程序启动webserver;tool_portal目录结构,包含init.py、model.py、静态文件、模板和视图文件;以及user.sqlite数据库文件的详细信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码结构和说明

在第一章节中我列出了所有文件,本章我将会介绍所有的文件。

根目录

  1. db_design.txt
    这是初始化数据库的sql脚本,在tool_portal目录下面有一个user.sqlite,这个文件就是由这个初始化脚本生成的。初始化脚本包括一系列的sql语句。如:
    a) 建立用户表users,包括一个自动生成且唯一的userid,用户名username,用户的角色userrole,用户密码password
    b) 建立角色表roles,包括一个自动生成且唯一的roleid,角色的名字rolename
    c) 建立菜单表menu,包括一个自动生成且唯一的menuid,菜单名字menuname,菜单的父菜单parentmenu,菜单的顺序menuorder
    d) 建立角色映射菜单rolemapping,包括包括一个自动生成且唯一的mappingid,角色roleid,和菜单menuid

具体的sql语句如下

CREATE TABLE users (userid INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT NOT NULL DEFAULT (null) ,userrole Integer,password text);
CREATE TABLE roles (roleid INTEGER PRIMARY KEY AUTOINCREMENT, rolename TEXT NOT NULL DEFAULT (null));
CREATE TABLE menus (menuid INTEGER PRIMARY KEY AUTOINCREMENT, menuname TEXT NOT NULL DEFAULT (null) ,parentmenu integer, menuorder INTEGER);
CREATE TABLE rolemappings (mappingid INTEGER PRIMARY KEY AUTOINCREMENT, roleid INTEGER, menuid INTEGER);

当表格建立完毕后,我们会增加一些默认值进入菜单中,包括
a) 在roles表中增加三个角色,admin, support, sales
b) 在users表中增加一个admin用户,密码是Password123!
c) 在menus表中增加两个父菜单supportmenu和salesmenu,同时给他们增加各两个子菜单supportsubmenu1/2 和salessubmenu1/2
具体sql语句如下

insert into roles(rolename) values('admin');
insert into roles(rolename) values('support');
insert into roles(rolename) values('sales');

insert into users(username,userrole,password) values ('admin',1,'63c9c7ffffcae785a032832c03cf0c79da5d5789b6a152aa49751b65');

insert into menus (
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值