Spring Boot 集成 Shiro 和 CAS 项目教程
1. 项目目录结构及介绍
springboot-cas-shiro
├── src
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── example
│ │ │ ├── config
│ │ │ │ ├── CasConfig.java
│ │ │ │ ├── ShiroConfig.java
│ │ │ ├── controller
│ │ │ │ ├── HomeController.java
│ │ │ ├── service
│ │ │ │ ├── UserService.java
│ │ │ ├── SpringbootCasShiroApplication.java
│ │ ├── resources
│ │ │ ├── application.yml
│ │ │ ├── logback-spring.xml
│ │ │ ├── templates
│ │ │ │ ├── home.html
│ │ │ │ ├── login.html
│ │ │ │ ├── 403.html
├── pom.xml
目录结构介绍
src/main/java/com/example/config: 存放项目的配置类,包括 Shiro 和 CAS 的配置。src/main/java/com/example/controller: 存放控制器类,处理 HTTP 请求。src/main/java/com/example/service: 存放服务类,处理业务逻辑。src/main/java/com/example/SpringbootCasShiroApplication.java: 项目的启动类。src/main/resources: 存放项目的资源文件,包括配置文件和模板文件。pom.xml: Maven 项目的配置文件,定义项目的依赖和构建配置。
2. 项目的启动文件介绍
SpringbootCasShiroApplication.java
package com.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringbootCasShiroApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootCasShiroApplication.class, args);
}
}
启动文件介绍
@SpringBootApplication: 这是一个组合注解,包含了@Configuration、@EnableAutoConfiguration和@ComponentScan,用于简化 Spring Boot 应用的配置。main方法: 项目的入口方法,启动 Spring Boot 应用。
3. 项目的配置文件介绍
application.yml
server:
port: 8080
spring:
application:
name: springboot-cas-shiro
shiro:
cas:
server-url-prefix: https://cas.example.com/cas
service: http://localhost:8080/login/cas
login-url: ${shiro.cas.server-url-prefix}/login
logout-url: ${shiro.cas.server-url-prefix}/logout
unauthorized-url: /403
success-url: /home
failure-url: /login?error=true
logging:
level:
root: INFO
com.example: DEBUG
配置文件介绍
server.port: 指定应用的端口号。spring.application.name: 指定应用的名称。shiro.cas: 配置 Shiro 和 CAS 的集成参数,包括 CAS 服务器的 URL、登录和登出 URL、未授权 URL 等。logging: 配置日志级别,root为全局日志级别,com.example为特定包的日志级别。
通过以上配置,项目可以实现与 CAS 服务器的单点登录集成,并使用 Shiro 进行权限管理。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



