# easy-satoken
**Repository Path**: easy-framework/easy-satoken
## Basic Information
- **Project Name**: easy-satoken
- **Description**: 简化Sa-Token的使用
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-07-15
- **Last Updated**: 2025-11-05
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 介绍
[quick-login](https://gitee.com/quick-data/quick-login)集成[sa-token](https://gitee.com/dromara/sa-token)的版本。
# maven引用
## 1.springboot2.x 引入下面的包
```xml
io.github.xiaoyudeguang
easy-satoken
1.0.13
cn.dev33
sa-token-spring-boot-starter
1.44.0
io.github.xiaoyudeguang
quick-request
1.0.2
```
## 2.springboot3.x 引入下面的包
```xml
io.github.xiaoyudeguang
easy-satoken
1.0.13
cn.dev33
sa-token-spring-boot3-starter
1.44.0
io.github.xiaoyudeguang
quick-request-jakarta
1.0.2
```
# 使用说明
## 1.基础用法
### 1.1 在yml中添加配置
```
quick-login:
permission:
- userNo: zhangsan #用户编码
userName: 张三 #用户名
password: 123456 #密码
avatar: http://www.baidu.com #头像地址
mobile: 17696078138 #手机号
role: admin #角色
```
### 1.2 通过easy-satoken进行登录
打开地址:http://127.0.0.1:8080/login.html?http://www.baidu.com ,登录成功会跳转到http://www.baidu.com

## 2.接口鉴权
### 2.1 easy-satoken内置增强写法
```java
import com.example.model.SysUser;
import com.example.service.UserService;
import com.xiaoyudeguang.annotations.RequestMapping;
import com.xiaoyudeguang.annotations.RestController;
import com.xiaoyudeguang.web.controller.AbstractController;
import com.xiaoyudeguang.web.response.BaseResult;
import io.swagger.v3.oas.annotations.Parameter;
import org.springframework.web.bind.annotation.RequestParam;
@RestController(value = "/user", tags = "用户接口", author = "赵光")
public class UserController {
@Autowired
private SysUserService sysUserService;
/**
* 会被鉴权的接口(框架本身对satoken做了增强,默认所有接口都会被鉴权)
*/
@RequestMapping(value = "/getUserByUserNo", summary = "根据用户编码查询用户", permission= "query")
public BaseResult getUserByUserNo(@RequestParam(value = "userNo") @Parameter(description = "用户编码") String userNo) {
return BaseResult.ok(sysUserService.getOne(SysUser::getUserNo, userNo));
}
/**
* 不会被鉴权的接口(只需要将@RequestMapping注解的checkAuth属性值设置为false)
*/
@RequestMapping(value = "/getUserByUserNo", summary = "根据用户编码查询用户", checkAuth = false)
public BaseResult getUserByUserNo(@RequestParam(value = "userNo") @Parameter(description = "用户编码") String userNo) {
return BaseResult.ok(sysUserService.getOne(SysUser::getUserNo, userNo));
}
}
```
### 2.2 sa-token原生写法
```java
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.example.model.SysUser;
import com.example.service.UserService;
import com.xiaoyudeguang.web.controller.AbstractController;
import com.xiaoyudeguang.web.response.BaseResult;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@SaCheckPermission("user")
@RestController
@RequestMapping(value = "/user")
public class UserController extends AbstractController {
@SaCheckPermission("getUserByUserNo")
@Operation(summary = "根据用户编码查询用户")
@RequestMapping(value = "/getUserByUserNo")
public BaseResult getUserByUserNo(@RequestParam(value = "userNo") @Parameter(description = "用户编码") String userNo) {
return BaseResult.ok(service.getOne(SysUser::getUserNo, userNo));
}
}
```