EASYUI结合SSH的权限管理模块<一>

java后台一般有一个权限管理模块,控制用户访问资源或者页面操作按钮。

最近一个项目也需要用到该功能,该管理模块模仿Easyui视频作者孙宇的权限管理系统,详细请见:

http://yusun.iteye.com/blog/1527018

打算分3篇博文将设计思路与关键代码记录下来,以备有需要的同学使用:

这一篇主要讲数据库结构:使用Mysql数据库

1、建立资源表(tresource),该表主要添加系统的访问资源,有父级级联关系,所以需要添加pid字段。

EASYUI结合SSH的权限管理模块<一>_第1张图片
pid需要设置外键,自引用id 


EASYUI结合SSH的权限管理模块<一>_第2张图片
 

测试数据如下:


EASYUI结合SSH的权限管理模块<一>_第3张图片
 

2、建立角色表(trole),该表负责记录系统的角色

该表有2列    id(varchar 36)    text(varchar 200) 

id:角色id

text:角色显示名,如:超级管理员,普通管理员

 

3、建立角色资源对应表(trole_tresource),该表负责关联角色表与资源表。


EASYUI结合SSH的权限管理模块<一>_第4张图片
 通过外键关联另外两张表 ,role_id映射role表id,resource_id映射resource表id,具体操作见表1的建立。

 

4、建立用户表(tuser)

 

 
5、建立用户角色对应表(tuser_trole)

该表 字段如下:

id : varchar(36) 

role_id:varchar(36)     外键 对应角色表role.id

user_id:vatchar(36)     外键 对应用户表user.id

外键建立参照表1

 

6、使用hibernate反向工程生成model层

EASYUI结合SSH的权限管理模块<一>_第5张图片
 
EASYUI结合SSH的权限管理模块<一>_第6张图片


EASYUI结合SSH的权限管理模块<一>_第7张图片
 
EASYUI结合SSH的权限管理模块<一>_第8张图片
 
 这样就能自动生成实体类之间的对应关系:如下所示:

        @ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "role_id", nullable = false)
	public Trole getTrole() {
		return this.trole;
	}

	public void setTrole(Trole trole) {
		this.trole = trole;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "resource_id", nullable = false)
	public Tresource getTresource() {
		return this.tresource;
	}

	public void setTresource(Tresource tresource) {
		this.tresource = tresource;
	}

 

你可能感兴趣的:(easyui)