资源简介

# 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\style.css
     文件        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个文件信息

评论

共有 条评论