快速业务通道

SpringSide开发实战(四):打通数据持久层的任督二脉 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17

SpringSide开发实战(四):打通数据持久层的任督二脉

时间:2011-05-07 blogjava 海边沫沫

在这里,将创建一个简化的用户管理模块,演示怎样利用SpringSide提供的数据持久层 的功能,包括怎样通过Hibernate的Annotation来配置多对一映射和多对多映射。

大家都知道,现在最流行用户管理模型的是RBAC,也就是基于角色的访问控制模型,在 这种模型中,可以划分多个层次,如用户-角色-资源、用户-角色-权限-资源、用户-角色- 角色组-权限-资源、用户-角色-角色组-权限-操作-资源等等,因此,想要创建一个完善而 复杂的用户管理模块,是相当具有难度的。在Web2.0时代,有一个很重要的开发思想,那就 是先让程序跑起来,以后再逐步添加复杂的功能。因此,在这里只创建一个简化的用户管理 模块。

所谓简化,它具有如下几个特点:

1.在认证方式中,选择基于用户名和密码的认证,用户需要提供用户名、密码和昵称, 用户名和昵称都要求不能重复,用户名不能包含中文,且不能够被修改,昵称可以为中文, 也可以被修改。密码使用MD5加密。

2.不包含用户的真实信息,如姓名、年龄、性别、职业、地址、邮编等等,因为如果包 含这些字段,那么还需要包含更多的额外字段来让用户决定是否公开这些信息,因此,去掉 这些东西,可以简化开发过程,让网站能够尽快的跑起来。

3.联系方式只需要用户提供它的电子邮箱和QQ号码。

4.如果用户密码丢失,可以通过密码提示问题找回,随机产生的新密码会发到用户的电 子邮箱。

5.省略用户的个性化设置,如个性化签名、自定义头像等。

6.要能够记录用户的注册时间和最后登录时间。

7.要具有完善的积分和排名机制。

8.用户删除的时候不做物理删除,只标记为该用户不可用。

8.具有简化的角色和权限管理机制,这里的简化主要有以下几点:每个用户只能属于一 个角色,即多对一关系,而不是传统的多对多关系;角色不需要分组;没有专门的资源抽象 层;在角色表中只使用一个字段来表示该角色具有的权限,权限以数字表示,以逗号分开, 如“1,2”,“1,3,15”等等。

9.用户可以创建群和加入群,为了简化,群的创始人即为管理员,并不可改变,用户加 入群需要管理员批准,一个用户可以加如多个群,即多对多关系。

从上面的描述可以看出,一个简化的用户管理系统最少需要三个表,即users,roles和 groups表,其中users和roles之间为多对一映射,users和groups之间为多对多映射,为了 实现多对多映射,并且用户加入群的时候需要管理员批准,需要一个中间表users_groups。 下面是在MySQL中创建数据表的语句。

SpringSide开发实战(四):打通数据持久层的任督二脉(2)

时间:2011-05-07 blogjava 海边沫沫

创建用户表:

create  table users( id int  not  null auto_increment primary  key , name varchar ( 20 ) not  null , password char ( 32 ) not  null , monicker varchar ( 30 ) not  null , question varchar ( 30 ) not  null , answer varchar ( 30 ) not  null , email varchar ( 40 ) not  null , qq varchar ( 12 ) not  null , roleid int  not  null , score int  not  null  default  '' 0 '' , regtime timestamp  not  null  default  CURRENT_TIMESTAMP , logintime timestamp  not  null  default  '' 2007-01-01 00:00:00 '' , isdeleted varchar ( 2 ) not  null  default  '' 0 '' , index (username), index (monicker));

为了加快查找用户的速度,在用户名和昵称列上创建了索引。

创建角色表:

create  table roles( id int  not  null auto_increment primary  key , name va

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号