论坛首页 Java企业应用论坛

小型用户权限例子struts2.18+spring3.0+hibernate3.5+annotation(源码)

浏览 24429 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-12-31   最后修改:2011-01-29
     今天是2010年的最后一天,在此分享一下个人几个月前写的一个小项目给大家
   1.系统框架:struts2.8+hibernate3.5+spring3.0

   2.浏览器: 因为开发是一直使用的是chrome,开发完后才发现不兼容ie

   3.注意事项:如果出现java.lang.NoSuchMethodError: javax.persistence.OneToMany.orphanRemoval()Z
由于hibernate-jpa-2.0-api-1.0.0.Final.jar和javaee的javax.persistence包冲突,删除javaee包的javax.persistence就可以解决了

   4.项目采用的annotation代替以前的xml配置,可以更好的方便维护

   5.项目入口:http://localhost:8080/ops(项目名)/manage/login.jsp 用户名:asdf 密码:asdf

   6.数据库,使用的是mysql数据

启动步骤:

    1.在myeclipse中新建一个项目,任意项目名,将文件解压,src和webRoot拷贝进去覆盖项目中已有的src和webRoot

    2.把解压包中的ops.sql放到mysql中执行

    3.修改密码:src/config/init/init.properties datasource.password=改成你的密码

    4.因为hibernate3.5和javaee的jpa有冲突,所以需要删除javaee包的持久包。

如果你的myeclipse是安装在c盘 C:\Program Files\Genuitec\Common\plugins\com.genuitec.eclipse.j2eedt.core_8.6.0.me201007292038\data\libraryset\EE_5 这个文件夹,找到javaee.rar,用winrar打开删除,具体删除请看上面3.注意事项

    5.项目编码全部采用utf-8,请确保你的项目编码,tomcat,mysql都是采用的utf-8编码,如果有乱码请查看是否是那个部位编码没有统一。

    6.应该没有了吧。要有就是启动访问了。呵呵~

javaeye的上传太不好用了,没办法,只能放到csdn上面了
http://download.csdn.net/source/3007347

6.数据字典
                       用户表(userinfo)
字段	类型	字段描述
id	int	自动增长Id
userName	Varchar(20)	用户名
userPassword	varchar(20)	用户密码
sex	varchar(2)	性别 1为男,2为女
email	varchar(20)	email
qq	varchar(11)	qq
isEnable	int	是否可用
online	bigint	在线时长
score	int	积分
createTime	datetime	注册时间
content	text	个性签名
isBetter	int	是否为高级用户 1是 0 为不是高级用户

                       角色表(role)
字段	类型	字段描述
id	int	自动增长Id
roleName	Varchar(20)	角色名称
roleInfo	text	角色介绍
createTime	datetime	创建时间

                       权限(action)
字段	类型	字段描述
id	int	自动增长Id
path	Varchar(200)	权限路径
createTime	datetime	创建时间
moduleId	int	模块id
actionName	Varchar(20)	权限名称
orders	int	排序


                       模块(module)
字段	类型	字段描述
id	int	自动增长Id
moduleName	Varchar(20)	模块名称
moduleInfo	text	模块简介
createTime	datetime	创建时间

                       菜单(menu)
字段	类型	字段描述
id	int	自动增长Id
menuName	Varchar(20)	显示名称
parentId	int	父id
url	Varchar(100)	链接url
imageUrl	Varchar(100)	图片url
dept	int	层次
createTime	datetime	创建时间
orders	Varchar(11)	排序(1层标示1,2,3 ;2层1.1 ,1.2 ;3层 1.1.1 2.1.1)

                       用户角色映射表(userRole)
字段	类型	字段描述
userId	int	映射userinfo id
roleId	int	映射role id

                       角色权限映射表(roleAction)
字段	类型	字段描述
actionId	int	映射action表 id
roleId	int	映射role id

                       角色菜单映射表(roleMenu)
字段	类型	字段描述
menuId	int	映射Menu表id
roleId	int	映射role id



登录:

查询

增加用户:



   发表时间:2010-12-31  
郁闷。每一个人回。。自己沙发/
0 请登录后投票
   发表时间:2011-01-01  
看起来还不错,去下载来看看。你后台的界面是用什么做的?
0 请登录后投票
   发表时间:2011-01-01  
祝愿2011一样给力。
0 请登录后投票
   发表时间:2011-01-01   最后修改:2011-01-01
你的代码中有个小问题啊,在 src\com\common\tool\query\PropertyFilter.java 有这样的代码:

import com.sun.org.apache.commons.beanutils.ConvertUtils;

应该直接删除这句。

0 请登录后投票
   发表时间:2011-01-01   最后修改:2011-01-01
你对 dtree 的用法 绝了,我一直没想到这么用 单选、复选 按钮,又学到一招!

但里面有些地方可能你需要改进一下,

1、你的这个项目不知是不是对外发布的,里面的用户名、密码,你全部都没改,不知对你的项目有没有影响。

2、感觉对角色授权时,不是很方便,可能有些人不容易明白;

3、你的缓存其实没有启作用,不知你有没有注意到

最后,还是感谢你的分享。
0 请登录后投票
   发表时间:2011-01-01  
真给力的Demo.下载学习一下
0 请登录后投票
   发表时间:2011-01-01  
很好的一个例子,正在学习整合S2S,感谢LZ分享
0 请登录后投票
   发表时间:2011-01-02  
刚才在我电脑上部署了一下。确实不错。明天研究一下代码实现。学习学习!
0 请登录后投票
   发表时间:2011-01-02  
lqixv 写道
你对 dtree 的用法 绝了,我一直没想到这么用 单选、复选 按钮,又学到一招!

但里面有些地方可能你需要改进一下,

1、你的这个项目不知是不是对外发布的,里面的用户名、密码,你全部都没改,不知对你的项目有没有影响。

2、感觉对角色授权时,不是很方便,可能有些人不容易明白;

3、你的缓存其实没有启作用,不知你有没有注意到

最后,还是感谢你的分享。


当时为了偷懒,随便弄了弄了一些用户数据进来,那数据以后不会用了的。
授权那里我也没有找到很方便的方法,基本就是用户-角色-权限(模块)
缓存应该是有效的吧。只是没有全部缓存,当时做的太匆忙了,没有仔细去弄。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics