Shiro-JWT 项目使用教程
shiro-jwt项目地址:https://gitcode.com/gh_mirrors/sh/shiro-jwt
1. 项目的目录结构及介绍
shiro-jwt/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ ├── com/
│ │ │ │ ├── example/
│ │ │ │ │ ├── config/
│ │ │ │ │ ├── controller/
│ │ │ │ │ ├── model/
│ │ │ │ │ ├── repository/
│ │ │ │ │ ├── security/
│ │ │ │ │ ├── service/
│ │ │ │ │ └── ShiroJwtApplication.java
│ │ └── resources/
│ │ ├── application.properties
│ │ └── static/
│ │ └── templates/
│ └── test/
│ └── java/
│ └── com/
│ └── example/
│ └── ShiroJwtApplicationTests.java
├── .gitignore
├── pom.xml
└── README.md
目录结构介绍
src/main/java/com/example/
: 包含项目的所有Java源代码。config/
: 存放配置类,如Shiro和JWT的配置。controller/
: 存放控制器类,处理HTTP请求。model/
: 存放数据模型类。repository/
: 存放数据访问层类。security/
: 存放安全相关的类,如自定义的Realm和过滤器。service/
: 存放业务逻辑层类。ShiroJwtApplication.java
: 项目的主启动类。
src/main/resources/
: 包含项目的资源文件。application.properties
: 项目的配置文件。static/
: 存放静态资源文件,如CSS和JavaScript文件。templates/
: 存放模板文件,如Thymeleaf模板。
src/test/java/com/example/
: 包含项目的测试代码。.gitignore
: Git忽略文件配置。pom.xml
: Maven项目配置文件。README.md
: 项目说明文档。
2. 项目的启动文件介绍
ShiroJwtApplication.java
package com.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class ShiroJwtApplication {
public static void main(String[] args) {
SpringApplication.run(ShiroJwtApplication.class, args);
}
}
介绍
ShiroJwtApplication
是项目的入口类,使用@SpringBootApplication
注解标记,表示这是一个Spring Boot应用。main
方法中调用SpringApplication.run
方法启动应用。
3. 项目的配置文件介绍
application.properties
# 服务器配置
server.port=8080
# 数据库配置
spring.datasource.url=jdbc:mysql://localhost:3306/shiro_jwt
spring.datasource.username=root
spring.datasource.password=root
# JWT配置
jwt.secret=your_secret_key
jwt.expiration=86400000
# Shiro配置
shiro.loginUrl=/login
shiro.successUrl=/home
shiro.unauthorizedUrl=/403
介绍
server.port
: 配置服务器端口,默认为8080。spring.datasource.*
: 配置数据库连接信息。jwt.secret
: JWT的密钥,用于签名和验证。jwt.expiration
: JWT的过期时间,单位为毫秒。shiro.*
: Shiro的相关配置,如登录URL、成功跳转URL和未授权跳转URL。
以上是Shiro-JWT项目的目录结构、启动文件和配置文件的介绍。希望这份教程能帮助你快速上手该项目。