qinyongbo / cl-privilege

通用权限管理系统:作为配置中心,管理后台系统的菜单、功能、用户、角色等,并提供DUBBO接口。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cl-privilege

通用权限管理系统

一、mybatis-generator

ORM框架采用MyBatis,为了提高开发效率,先根据数据库表单结构自动生成Model和MyBatis相关类,生成命令如下:

java -jar mybatis-generator-core-1.3.1.jar -configfile config_privilege.xml -overwrite

生成时需要把mybatis-generator-core-1.3.1.jar、mysql-connector-java-5.1.24-bin.jar、config_privilege.xml放到一个目录下,生成的相关类和XML会放置到CreateResult文件夹下面。

参考网址: http://www.mybatis.org/generator/ http://pan.baidu.com/s/1qW98L0C http://qiuguo0205.iteye.com/blog/819100 http://jadethao.iteye.com/blog/1726115

二、Dubbo

客户端、服务器端通讯框架采用Dubbo,Dubbo官网:http://alibaba.github.io/dubbo-doc-static/Home-zh.htm

三、Jasig CAS

对于身份认证,采用单点登录系统:Jasig CAS,官网:http://www.jasig.org/cas

我对jasig server和client的jar进行了修改,达到目的:

1、对服务器的界面进行了修改,使用MetroNic这套模板;对服务器的认证方式做了更改,采用MySQL进行身份验证。

代码位置:https://github.com/pumadong/cas-server-3.5.2

2、对客户端进行了小调整,让登陆之后自动返回到登陆之前的页面

代码位置:https://github.com/pumadong/cas-client-3.2.1

四、Redis

对于服务器端,菜单树调用较为频繁,可以采用Redis缓存提高性能。当前暂无使用,在用做生产时可以考虑加上。

五、界面

采用了MetroNic2.0.2这套模板,官网:http://themeforest.net/item/metronic-responsive-admin-dashboard-template/4021469

如果商用的话,这套模板是需要购买的,25美元。

因为MetroNic的assets目录中都是的静态资源文件,我没有把它放入权限相关项目,而是单独配置了一个Nginx访问地址:http://127.0.0.1/privilege_inc/assets/

assets的内容,可以到这里下载:http://pan.baidu.com/s/1qW98L0C

由于我们另配了assets地址,所以一些文件里面对于资源文件的地址要从相对路径改为绝对路径,比如:assets/scripts/core/app.js

六、Jquery插件

jsTree : http://www.jstree.com/

jquery.validate : http://bassistance.de/jquery-plugins/jquery-plugin-validation http://docs.jquery.com/Plugins/Validation

DataTables : http://datatables.net/

Bootstram Modals : http://www.w3cschool.cc/bootstrap/bootstrap-v2-modal-plugin.html

注意,在这个插件的使用过程中,用了Ajax,是不能跨域的,即使从localhost,调用127.0.0.1的页面也是不行的。

colorbox : http://www.jacklmoore.com/colorbox/,用于弹出窗体,本系统使用的是MetroNic模板本身提供的模式(Bootstrap Modals)对话框,colorbox也是一种选择,这两种弹窗插件都比较好。

jquery-multi-select : http://loudev.com/

七、业务逻辑

对于模块,维护极少,不提供管理界面,手工操作数据库;

当前对于权限,仅控制到菜单级别,对于大多数系统来说,是适合的,如果需要更细致的权限级别,比如菜单里面的:CRUD,可以开发功能管理,实现步骤如下:

a.当需要一个控制时,管理员根据名称、意义,定制一个权限号,根据业务要求分配给某些角色

b.把权限号告知使用者,使用者根据此权限号,在程序中增加控制

八、其他

在datatable.js中,使用bootstrap_full_number分页方式,页码导航条宽度变得太高的问题,解决办法:bootstrap.min.css中,对于.pagination .li 去掉float:left之后,就好了。

在datatable.js中,对fnServerData段进行调整,用于向服务器端传递分页、查询等参数,同时也调整显示的提示文本内容。

jqueyr.validate.js和jquery.validte.min.js中,调整提示文本显示。。

About

通用权限管理系统:作为配置中心,管理后台系统的菜单、功能、用户、角色等,并提供DUBBO接口。


Languages

Language:Java 55.3%Language:FreeMarker 25.4%Language:JavaScript 19.2%Language:HTML 0.0%