码迷,mamicode.com
首页 > 数据库 > 详细

后台管理用户权限数据库设计

时间:2015-03-08 21:39:32      阅读:341      评论:0      收藏:0      [点我收藏+]

标签:权限   数据库   后台   系统管理   java   

来自棱镜学院-在线IT教育www.prismcollege.com

1.     创建基本表

创建User、Role和Module三张表,User中每一行对应一个用户信息,Role每一行保存一个角色信息,包括角色id及对应的name,Module中的每一行保存一个模块信息,包括模块id及对应的name。

创建三张表的sql语句(MySql环境)如下:

1)创建user表,表结构如下:

2)创建role表,表结构如下:

3)创建module表,表结构如下:

CREATE TABLE `of_user` (
  `USER_ID` varchar(100) ‘,
  `USERNAME` varchar(255),
  `PASSWORD` varchar(255),
  `NAME` varchar(255) ,
  `ROLE_ID` varchar(100) ,
  `NUMBER` varchar(100),
  PRIMARY KEY (`USER_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;


CREATE TABLE `of_role` (
  `ROLE_ID` varchar(50) ,
  `ROLE_NAME` varchar(100),
  PRIMARY KEY (`ROLE_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;



CREATE TABLE `of_menu` (
  `MENU_ID` int(11) NOT NULL,
  `MENU_NAME` varchar(254) ,
  `MENU_URL` varchar(254) ,
  `PARENT_ID` varchar(20) ,
  `MENU_ORDER` varchar(80),
  `MENU_ICON` varchar(30),
  PRIMARY KEY (`MENU_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


CREATE TABLE `of_user_group` (
  `id` varchar(50) ,
  `user_id` varchar(50) ,
  `group_id` varchar(50) ,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2.     插入初始数据

1)定义模块,假设有以下模块a.查询报表  b.账号管理 c.信息发布 d.注册用户列表 e.招聘信息列表几个模块,将各模块插入module表中。

插入后module内容如下:

2)定义角色,初始定义以下角色a.超级管理员 b.管理员 c.信息发布者 d.求职者等角色,插入后role内容如下:

3)定义用户,初始用户如下,liubei,zhugeliang,zhangfei,lvbu

插入后user内容如下

 

3.     创建关联表

1)创建user和role的关联表user_role,一个user对应一个或者多个role,一个role可以对应多个user,设liubei的角色为administrator,zhugeliang为admin和distributor,zhangfei为distributor,lvbu为jobseeker。用户zhugeliang和role之间是一对多关系,角色distributor和user之间是一对多关系。

创建后的user_role表结构如下:

内容如下,保存了用户和角色之间的映射关系:

2)创建role和module之间的关联映射表role_module,administrator可以查看journal_sheet模块,admin可以查看除journal_sheet的所有模块:info_distribute,account_manage,user_list,job_list,distributor可以查看info_distribute模块,jobseeker可以查看job_list模块。

创建后的role_module表结构如下:

内容如下,保存了role和module之间的映射关系

 CREATE TABLE `of_user_role` (
  `user_id` int(50),
  `role_id` int(50) ,
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=urf-8;


CREATE TABLE `of_role_menu` (
  `role_id` int(50) ,
  `menu_id` int(50) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

至此,通过数据库完成了用户权限的设计。

更多学习 欢迎加QQ群交流:3686148499368614849368614849368614849

后台管理用户权限数据库设计

标签:权限   数据库   后台   系统管理   java   

原文地址:http://blog.csdn.net/zhanjianshinian/article/details/44136267

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!