# sso-shiro-cas
spring下使用shiro+cas配置单点登录,多个系统之间的访问,每次只需要登录一次
## 系统模块说明
1. cas: 单点登录模块,这里直接拿的是cas的项目改了点样式而已
2. doc: 文档目录,里面有数据库生成语句,采用的是MySQL5.0,数据库名为db_test
3. spring-node-1: 应用1
4. spring-node-2: 应用2
其中node1跟node2都是采用spring + springMVC + mybatis 框架,使用maven做项目管理
## cas集成说明
1.首先采用的是查数据库的方式来校验用户身份的,在cas/WEB-INF/deployerConfigContext.xml中第135行构建了这个类型
``` xml
```
其中QueryDatabaseAuthenticationHandler这个类是自定义构建的,在cas/WEB-INF/lib/cas-jdbc-1.0.0.jar里面,有兴趣的同学可以发编译看下,关于几个属性的说明
1. dataSource: 数据源,配置MySQL的连接信息
2. passwordEncoder: 加密方式,这里用的是MD5
3. sql: sql查询语句,这个语句就是根据用户输入的账号查询其密码
#### 以上就是单点登录管理的主要配置
## 应用系统的配置node1
1. 应用系统采用shiro做权限控制,并且跟cas集成
2. 在/spring-node-1/src/main/resources/conf/shiro.properties 文件中
``` properties
shiro.loginUrl=http://127.0.0.1:8080/cas/login?service=http://127.0.0.1:8081/node1/shiro-cas
shiro.logoutUrl=http://127.0.0.1:8080/cas/logout?service=http://127.0.0.1:8081/node1/shiro-cas
shiro.cas.serverUrlPrefix=http://127.0.0.1:8080/cas
shiro.cas.service=http://127.0.0.1:8081/node1/
1