随着系统的不断增多,权限的统一控制显得尤为重要。 权限控制框架目前流行的有shiro和spring security,对于两者的区别,网上有很多相关介绍,可自行查阅。本文采用shiro并结合张开涛《跟我学shiro》博客(特此鸣谢!)进行修改。
一、开发环境
Windows10+IDEA+JDK7+Tomcat7+Maven+MySQL
二、技术框架
Spring4+shiro1.3.2
三、整体框架
权限控制中心总共分为三个模块:core、server、client,其中core、client两个模块为工具依赖jar包,server为控制中心WEB服务模块。模块关系结构如下图:
详细架构如下图:
流程交互如下图:
四、模块介绍
-
core模块:
使用maven加载spring、shiro等jar包依赖,并打包为jar上传至maven仓库提供给client、server使用,其他模块无需再进行重复jar的引用
-
server模块
权限中心的核心模块,主要负责对所有托付给他的系统进行身份认证、权限校验等工作。对于权限相关DB的维护功能可在此模块进行开发,模块采用springMVC,也可以根据实际需求另外进行维护
-
client模块
各个管理系统所依赖的模块,主要负责对于身份、权限认证过滤、与server模块交互。项目采用xml与javaConfig混合注入的方式提供给管理系统
具体代码参考github