thinkPHP5 後端之許可權管理 資料庫的建設

2021-08-25 08:27:45 字數 3721 閱讀 7196

資料庫

et foreign_key_checks=0;

-- ----------------------------

-- table structure for sw_auth

-- ----------------------------

drop table if exists `sw_auth`;

create table `sw_auth` (

`auth_id` smallint(6) unsigned not null auto_increment,

`auth_name` varchar(20) not null comment '名稱',

`auth_pid` smallint(6) unsigned not null comment '父id',

`auth_c` varchar(32) not null default '' comment '控制器',

`auth_a` varchar(32) not null default '' comment '操作方法',

`auth_path` varchar(32) character set utf8mb4 not null default '' comment '全路徑',

`auth_level` tinyint(4) not null default '0' comment '級別',

primary key (`auth_id`)

) engine=innodb auto_increment=45 default charset=utf8;

-- ----------------------------

-- records of sw_auth

-- ----------------------------

insert into `sw_auth` values ('10', '商品管理', '0', '', ' ', '10', '0');

insert into `sw_auth` values ('11', '訂單管理', '0', '', ' ', '11', '0');

insert into `sw_auth` values ('12', '許可權管理', '0', '', ' ', '12', '0');

insert into `sw_auth` values ('21', '商品列表', '10', 'goods', 'showlist', '10-21', '1');

insert into `sw_auth` values ('22', '新增商品', '10', 'goods', 'tianjia', '10-22', '1');

insert into `sw_auth` values ('23', '商品分類', '10', 'goods', 'category', '10-23', '1');

insert into `sw_auth` values ('31', '訂單列表', '11', 'order', 'showlist', '11-31', '1');

insert into `sw_auth` values ('32', '訂單查詢', '11', 'order', 'search', '11-32', '1');

insert into `sw_auth` values ('41', '管理員列表', '12', 'manager', 'showlist', '12-41', '1');

insert into `sw_auth` values ('42', '角色管理', '12', 'role', 'showlist', '12-42', '1');

-- ----------------------------

-- table structure for sw_manager

-- ----------------------------

drop table if exists `sw_manager`;

create table `sw_manager` (

`mg_id` int(11) not null auto_increment,

`mg_name` varchar(32) not null,

`mg_pwd` varchar(32) not null,

`mg_time` int(10) unsigned not null comment '時間',

`mg_role_id` tinyint(3) unsigned not null default '0' comment '角色id',

primary key (`mg_id`)

) engine=innodb auto_increment=7 default charset=utf8;

-- ----------------------------

-- records of sw_manager

-- ----------------------------

insert into `sw_manager` values ('1', 'tom', '123456', '20180620', '100');

insert into `sw_manager` values ('2', 'xiaoming', '123456', '20180808', '101');

insert into `sw_manager` values ('3', 'admin', '123456', '20180505', '0');

-- ----------------------------

-- table structure for sw_role

-- ----------------------------

drop table if exists `sw_role`;

create table `sw_role` (

`role_id` smallint(6) unsigned not null auto_increment,

`role_name` varchar(20) not null comment '角色名稱',

`role_auth_ids` varchar(128) not null comment '許可權id',

`role_auth_ac` text comment '控制器-操作方法',

primary key (`role_id`)

) engine=innodb auto_increment=103 default charset=utf8;

-- ----------------------------

-- records of sw_role

-- ----------------------------

insert into `sw_role` values ('100', '主管', '10,11,21,22,31', 'goods-showlist,goods-tianjia,order-showlist');

insert into `sw_role` values ('101', '經理', '10,21,41', 'goods-showlist,manager-showlist');

insert into `sw_role` values ('102', '組長', '10,11,21,22,31', 'goods-showlist,goods-tianjia,order-showlist');

ThinkPHP5許可權管理

自己寫的許可權管理,大致思路 使用者登陸成功之後,查出該使用者的許可權列表,並把許可權列表存到session中,進入系統後,再判斷該模組是否在session中,如果存在就說明有該許可權,就顯示出來,如果沒有就說明沒有該許可權,就不顯示。可以按角色分配許可權,也可以給某個人自定義許可權,需要給角色分配...

thinkPHP5 後端之分頁

這是使用者列表分頁方法,在控制器裡寫 獲取引數 data self config 判斷是否有輸入當前頁和每頁條數,否則預設值 curr isset data curr data curr 1 limits isset data limits data limits 10 判斷是否有關鍵字 職位 啟用...

Thinkphp5實現前後端分離

大致步驟如下 解決跨域請求問題 改變輸出資料格式為api常用返回json格式 自定義異常處理 修改適配api使用 開始強制路由 解決跨域問題 應用行為擴充套件定義檔案 return 應用初始化 應用開始 模組初始化 module init 操作開始執行 action begin 檢視內容過濾 vie...