系统权限管理(摘自北天技术网站)
系统管理模块的主要是由权限管理和其他基本信息组成,使不同用户实现各自功能的同时,保证系统的安全性。
对系统中任意一个用户,要通过权限管理来实现。系统管理员通过对部门、用户、角色的信息设置,在系统的多重约束之下,实现对每个用户的授权设置。
1、部门管理:主要实现部门资料的增加、修改、删除。
2、用户管理:主要实现用户资料的增加、修改、删除以及对用户授予角色。
3、角色管理:主要实现角色资料的增加、修改、删除以及对角色设置菜单权限。
4、左边菜单树:左边菜单树是根据登录用户所拥的权限读取的菜单树。
对系统中任意一个用户,要通过权限管理来实现。系统管理员通过对部门、用户、角色的信息设置,在系统的多重约束之下,实现对每个用户的授权设置。
1、部门管理:主要实现部门资料的增加、修改、删除。
2、用户管理:主要实现用户资料的增加、修改、删除以及对用户授予角色。
3、角色管理:主要实现角色资料的增加、修改、删除以及对角色设置菜单权限。
4、左边菜单树:左边菜单树是根据登录用户所拥的权限读取的菜单树。
1
数据库表结构(注意:原数据库存为mysql):
2 1 、菜单表web_menu
3 CREATE TABLE `web_menu` (
4 `menu_id` char ( 10 ) NOT NULL default '' ,
5 `name` varchar ( 20 ) default NULL ,
6 `parent_menu_id` char ( 10 ) default NULL ,
7 `page_url` varchar ( 100 ) default NULL ,
8 PRIMARY KEY (`menu_id`)
9 ) ENGINE = InnoDB DEFAULT CHARSET = gbk;
10
11 INSERT INTO `web_menu` VALUES ( ' 0 ' , ' 后台管理 ' , ' -1 ' , '' );
12 INSERT INTO `web_menu` VALUES ( ' 01 ' , ' 系统管理 ' , ' 0 ' , '' );
13 INSERT INTO `web_menu` VALUES ( ' 0101 ' , ' 部门管理 ' , ' 01 ' , ' ../dept/dept_list.jsp ' );
14 INSERT INTO `web_menu` VALUES ( ' 0102 ' , ' 用户管理 ' , ' 01 ' , ' ../user/user_list.jsp ' );
15 INSERT INTO `web_menu` VALUES ( ' 0103 ' , ' 角色管理 ' , ' 01 ' , ' ../role/role_list.jsp ' );
16 INSERT INTO `web_menu` VALUES ( ' 02 ' , ' 信息管理 ' , ' 0 ' , '' );
17 INSERT INTO `web_menu` VALUES ( ' 0201 ' , ' 最新消息 ' , ' 02 ' , ' ../test/building.jsp ' );
18 INSERT INTO `web_menu` VALUES ( ' 0202 ' , ' 最新技术 ' , ' 02 ' , ' ../test/building.jsp ' );
19 INSERT INTO `web_menu` VALUES ( ' 03 ' , ' 业务管理 ' , ' 0 ' , '' );
20 INSERT INTO `web_menu` VALUES ( ' 0301 ' , ' 工程管理 ' , ' 03 ' , ' ../test/building.jsp ' );
21 INSERT INTO `web_menu` VALUES ( ' 0302 ' , ' 材料管理 ' , ' 03 ' , ' ../test/building.jsp ' );
22 // 菜单数据按此规律手工添加。
23
24 2 、部门表web_dept
25 CREATE TABLE `web_dept` (
26 `dept_id` int ( 11 ) NOT NULL auto_increment,
27 `dept_name` varchar ( 30 ) default NULL ,
28 `dept_desc` varchar ( 255 ) default NULL ,
29 PRIMARY KEY (`dept_id`)
30 ) ENGINE = InnoDB DEFAULT CHARSET = gbk;
31
32 INSERT INTO `web_dept` VALUES ( 2 , ' 测试部 ' , ' 用于测试 ' );
33
34 3 、用户表web_user
35 CREATE TABLE `web_user` (
36 ` user_id ` varchar ( 30 ) NOT NULL ,
37 `password` varchar ( 50 ) default NULL ,
38 ` user_name ` varchar ( 30 ) default NULL ,
39 `telno` varchar ( 50 ) default NULL ,
40 `address` varchar ( 255 ) default NULL ,
41 `dept_id` int ( 11 ) default NULL ,
42 PRIMARY KEY (` user_id `)
43 ) ENGINE = InnoDB DEFAULT CHARSET = gbk;
44
45 INSERT INTO `web_user` VALUES ( ' admin ' , ' 123456 ' , ' 超级管理员 ' , '' , '' , 0 ); // 这条数据必须要先手工增加
46 INSERT INTO `web_user` VALUES ( ' test ' , ' 123456 ' , ' 测试用户 ' , '' , '' , 2 );
47
48 4 、角色表web_role
49 CREATE TABLE `web_role` (
50 `role_id` int ( 11 ) NOT NULL auto_increment,
51 `role_name` varchar ( 30 ) default NULL ,
52 `role_desc` varchar ( 255 ) default NULL ,
53 PRIMARY KEY (`role_id`)
54 ) ENGINE = InnoDB DEFAULT CHARSET = gbk;
55
56 INSERT INTO `web_role` VALUES ( 1 , ' 测试角色 ' , ' 测试角色 ' );
57
58 5 、角色菜单关系表web_role_menu
59 CREATE TABLE `web_role_menu` (
60 `role_id` int ( 11 ) NOT NULL default ' 0 ' ,
61 `menu_id` char ( 10 ) NOT NULL default '' ,
62 PRIMARY KEY (`role_id`,`menu_id`)
63 ) ENGINE = InnoDB DEFAULT CHARSET = gbk;
64
65 6 、用户角色关系表web_user_role
66 CREATE TABLE `web_user_role` (
67 ` user_id ` varchar ( 30 ) NOT NULL default '' ,
68 `role_id` int ( 11 ) NOT NULL default ' 0 ' ,
69 PRIMARY KEY (` user_id `,`role_id`)
70 ) ENGINE = InnoDB DEFAULT CHARSET = gbk;
71
72
2 1 、菜单表web_menu
3 CREATE TABLE `web_menu` (
4 `menu_id` char ( 10 ) NOT NULL default '' ,
5 `name` varchar ( 20 ) default NULL ,
6 `parent_menu_id` char ( 10 ) default NULL ,
7 `page_url` varchar ( 100 ) default NULL ,
8 PRIMARY KEY (`menu_id`)
9 ) ENGINE = InnoDB DEFAULT CHARSET = gbk;
10
11 INSERT INTO `web_menu` VALUES ( ' 0 ' , ' 后台管理 ' , ' -1 ' , '' );
12 INSERT INTO `web_menu` VALUES ( ' 01 ' , ' 系统管理 ' , ' 0 ' , '' );
13 INSERT INTO `web_menu` VALUES ( ' 0101 ' , ' 部门管理 ' , ' 01 ' , ' ../dept/dept_list.jsp ' );
14 INSERT INTO `web_menu` VALUES ( ' 0102 ' , ' 用户管理 ' , ' 01 ' , ' ../user/user_list.jsp ' );
15 INSERT INTO `web_menu` VALUES ( ' 0103 ' , ' 角色管理 ' , ' 01 ' , ' ../role/role_list.jsp ' );
16 INSERT INTO `web_menu` VALUES ( ' 02 ' , ' 信息管理 ' , ' 0 ' , '' );
17 INSERT INTO `web_menu` VALUES ( ' 0201 ' , ' 最新消息 ' , ' 02 ' , ' ../test/building.jsp ' );
18 INSERT INTO `web_menu` VALUES ( ' 0202 ' , ' 最新技术 ' , ' 02 ' , ' ../test/building.jsp ' );
19 INSERT INTO `web_menu` VALUES ( ' 03 ' , ' 业务管理 ' , ' 0 ' , '' );
20 INSERT INTO `web_menu` VALUES ( ' 0301 ' , ' 工程管理 ' , ' 03 ' , ' ../test/building.jsp ' );
21 INSERT INTO `web_menu` VALUES ( ' 0302 ' , ' 材料管理 ' , ' 03 ' , ' ../test/building.jsp ' );
22 // 菜单数据按此规律手工添加。
23
24 2 、部门表web_dept
25 CREATE TABLE `web_dept` (
26 `dept_id` int ( 11 ) NOT NULL auto_increment,
27 `dept_name` varchar ( 30 ) default NULL ,
28 `dept_desc` varchar ( 255 ) default NULL ,
29 PRIMARY KEY (`dept_id`)
30 ) ENGINE = InnoDB DEFAULT CHARSET = gbk;
31
32 INSERT INTO `web_dept` VALUES ( 2 , ' 测试部 ' , ' 用于测试 ' );
33
34 3 、用户表web_user
35 CREATE TABLE `web_user` (
36 ` user_id ` varchar ( 30 ) NOT NULL ,
37 `password` varchar ( 50 ) default NULL ,
38 ` user_name ` varchar ( 30 ) default NULL ,
39 `telno` varchar ( 50 ) default NULL ,
40 `address` varchar ( 255 ) default NULL ,
41 `dept_id` int ( 11 ) default NULL ,
42 PRIMARY KEY (` user_id `)
43 ) ENGINE = InnoDB DEFAULT CHARSET = gbk;
44
45 INSERT INTO `web_user` VALUES ( ' admin ' , ' 123456 ' , ' 超级管理员 ' , '' , '' , 0 ); // 这条数据必须要先手工增加
46 INSERT INTO `web_user` VALUES ( ' test ' , ' 123456 ' , ' 测试用户 ' , '' , '' , 2 );
47
48 4 、角色表web_role
49 CREATE TABLE `web_role` (
50 `role_id` int ( 11 ) NOT NULL auto_increment,
51 `role_name` varchar ( 30 ) default NULL ,
52 `role_desc` varchar ( 255 ) default NULL ,
53 PRIMARY KEY (`role_id`)
54 ) ENGINE = InnoDB DEFAULT CHARSET = gbk;
55
56 INSERT INTO `web_role` VALUES ( 1 , ' 测试角色 ' , ' 测试角色 ' );
57
58 5 、角色菜单关系表web_role_menu
59 CREATE TABLE `web_role_menu` (
60 `role_id` int ( 11 ) NOT NULL default ' 0 ' ,
61 `menu_id` char ( 10 ) NOT NULL default '' ,
62 PRIMARY KEY (`role_id`,`menu_id`)
63 ) ENGINE = InnoDB DEFAULT CHARSET = gbk;
64
65 6 、用户角色关系表web_user_role
66 CREATE TABLE `web_user_role` (
67 ` user_id ` varchar ( 30 ) NOT NULL default '' ,
68 `role_id` int ( 11 ) NOT NULL default ' 0 ' ,
69 PRIMARY KEY (` user_id `,`role_id`)
70 ) ENGINE = InnoDB DEFAULT CHARSET = gbk;
71
72