资源简介
# 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/
代码片段和文件信息
package com.spring.mybatis.controller;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.jasig.cas.client.authentication.AttributePrincipal;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.spring.mybatis.service.UserService;
@Controller
@RequestMapping(“/users“)
public class UserController {
private static final Logger logger = LoggerFactory
.getLogger(UserController.class);
@Resource
private UserService userService;
@RequestMapping(“/loginSuccess“)
public String loginSuccess(HttpServletRequest request) {
System.out.println(request);
// AttributePrincipal principal = (AttributePrincipal) request
// .getUserPrincipal();
// Map attributes = principal.getAttributes();
// Map attributes2 =
// AssertionHolder.getAssertion().getPrincipal().getAttributes();
//
// String id = (String) attributes.get(“password“);
// String uuid = (String) attributes.get(“username“); // 唯一key uuid
// System.out.println(uuid);
// String email = (String) attributes.get(“email“);
// String phonenumber = (String) attributes.get(“phonenumber“);
// Account account = new Account();
// account.setId(new Long(id));
// account.setEmail(email);
// account.setPhonenumber(phonenumber);
// account.setUsername(uuid);
logger.info(“登录成功“);
return “../index“;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-10-19 10:09 sso-shiro-cas\
目录 0 2016-10-17 17:00 sso-shiro-cas\cas\
目录 0 2016-10-17 17:00 sso-shiro-cas\cas\bootstrap\
目录 0 2016-10-17 17:00 sso-shiro-cas\cas\bootstrap\css\
文件 97347 2016-10-17 17:00 sso-shiro-cas\cas\bootstrap\css\bootstrap.min.css
目录 0 2016-10-17 17:00 sso-shiro-cas\cas\bootstrap\fonts\
文件 14079 2016-10-17 17:00 sso-shiro-cas\cas\bootstrap\fonts\glyphicons-halflings-regular.eot
文件 63384 2016-10-17 17:00 sso-shiro-cas\cas\bootstrap\fonts\glyphicons-halflings-regular.svg
文件 29512 2016-10-17 17:00 sso-shiro-cas\cas\bootstrap\fonts\glyphicons-halflings-regular.ttf
文件 16448 2016-10-17 17:00 sso-shiro-cas\cas\bootstrap\fonts\glyphicons-halflings-regular.woff
目录 0 2016-10-17 17:00 sso-shiro-cas\cas\bootstrap\js\
文件 27731 2016-10-17 17:00 sso-shiro-cas\cas\bootstrap\js\bootstrap.min.js
目录 0 2016-10-17 17:00 sso-shiro-cas\cas\css\
文件 1338 2016-10-17 17:00 sso-shiro-cas\cas\css\blue.css
文件 1472 2016-10-17 17:00 sso-shiro-cas\cas\css\brown.css
文件 7556 2016-10-17 17:00 sso-shiro-cas\cas\css\cas.css
文件 1464 2016-10-17 17:00 sso-shiro-cas\cas\css\dark.css
文件 1476 2016-10-17 17:00 sso-shiro-cas\cas\css\eastern_blue.css
文件 1473 2016-10-17 17:00 sso-shiro-cas\cas\css\green.css
文件 541 2016-10-17 17:00 sso-shiro-cas\cas\css\ie.css
文件 65028 2016-10-17 17:00 sso-shiro-cas\cas\css\st
文件 1467 2016-10-17 17:00 sso-shiro-cas\cas\css\tamarillo.css
文件 170 2016-10-17 17:00 sso-shiro-cas\cas\favicon.ico
目录 0 2016-10-17 17:00 sso-shiro-cas\cas\gallery\
文件 153543 2016-10-17 17:00 sso-shiro-cas\cas\gallery\Image01.jpg
文件 34689 2016-10-17 17:00 sso-shiro-cas\cas\gallery\Image01_tn.jpg
文件 133545 2016-10-17 17:00 sso-shiro-cas\cas\gallery\Image02.jpg
文件 32743 2016-10-17 17:00 sso-shiro-cas\cas\gallery\Image02_tn.jpg
文件 113315 2016-10-17 17:00 sso-shiro-cas\cas\gallery\Image03.jpg
文件 23909 2016-10-17 17:00 sso-shiro-cas\cas\gallery\Image03_tn.jpg
文件 135458 2016-10-17 17:00 sso-shiro-cas\cas\gallery\Image04.jpg
............此处省略910个文件信息
相关资源
- 图书馆管理系统Easyui jsp servlet
- 基于 eclipse 的 ssm+maven项目管理系统源
- 跟我学Shiro教程及其课程分章节源码
- Shiro教程:跟我学Shiro
- shiro的中文基础教程(92页)
- ssm+shiro基于资源的权限控制框架包含
- 基于Maven+SSH的二手交易平台
- SpringBoot非maven下使用到的所有jar包
- Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企
- maven库-RepositoryMaven
- 基于(ssm框架+mysql+jsp)maven管理的租
- 落雨博客基于CAS框架的单点登录技术
- 16款java游戏源码
- SSM-Maven项目招聘框架
- web版基于Java的海康摄像头SDK车牌抓拍
- SSM框架_maven项目_通用项目模板
- erp完整源码-ssm+easyUI+mysql+maven+shiro
- 基于java springmvc的鞋子商城
- erp源码-ssm+easyUI+mysql+maven+shiro
- 千锋Java教程:Shiro框架从入门到实战
- springMVC + BootStrap + mybatis + maven
- Shiro安装需要jar包
- shiro-all-1.4.0.jar
- 本地jar包生成pom文件
- springboot+shiro实现后端请求权限控制
- cas-client-java-2.1.1.zip
- maven-archetype-webapp-1.0.jar
- Maven+SSM上传源码实现
- Mybatis Generator自动生成JavaEntity带中文
- Modbus4j最新Maven工程源码+seroUtils
评论
共有 条评论