AppFuse提供的某些功能和在某方面表现出来的风格使它不像一个典型的业务系统,我们应该裁减、修改一些东西,使它符合我们的习惯。本文谨介绍一下本人在应用AppFuse所做的改动,包括改动的功能和改动的方法。
1.
用户属性重新配置
a.
调整User的属性。去掉User Bean及User表中的非必要属性,只保留一些最基本的属性,并新增一个fullName属性作为用户真实姓名
b.
禁止删除用户:去掉UserManager中的 removeUser方法,去掉userForm.jsp中的 “删除”按钮
c.
禁止修改用户名:修改userForm.jsp
d.
用户中的enable, expired,locked 三个属性中只要使用enable一个就行了。其他的两个应从userForm.jsp 中抹除,不过,下层代码和数据库不必修改
2.
二级或多级管理员体系
一个业务系统里应设置两级或两级以上后台管理员,较低级管理员执行日常的、不太危险的管理操作,较高级管理员则有权执行危险性较高的操作,而且只在必要的情况下动手。在用户数年较多的系统中,较低级的管理员可以有多个,较高级管理员则控制在一两个之内。个人认为这是平衡操作风险与管理工作量的较好模式。
若在AppFuse中采用这种模式,则需要修改的地方包括且不限于:security.xml 、 UserSecurityAdvice.java 和 menu-config.xml
另外,我还建议将用户管理权限的判断放到 UserSecurityAdvice代码中,而不是通过 Spring-Bean "userManagerSecurity" (见security.xml)来实现。这样做的好处是免于在security.xml中重载userManager