# QuickLogin
**Repository Path**: quick-data/quick-login
## Basic Information
- **Project Name**: QuickLogin
- **Description**: quick-login的定位是一个快速登录脚手架,具有易上手和兼容性强的特点
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-09-12
- **Last Updated**: 2025-11-05
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 介绍
quick-login的定位是一个快速登录脚手架,具有易上手和兼容性强的特点。如果你有以下的场景需要解决,那quick-login将会是一个很不错的选择:
(1)新项目需要从零开始搭建鉴权体系;
(2)老项目之间需要打通登录体系,实现一套账密登录;
(3)项目中引入了类似swagger之类的开源项目,生产环境为了安全性只能在关闭此功能引发的不方便;
# maven引入
## springboot2.x引入下面的包
```
io.github.xiaoyudeguang
quick-login
1.0.2
io.github.xiaoyudeguang
quick-request
1.0.2
io.github.xiaoyudeguang
easy-openapi
1.0.5
```
## springboot3.x引入下面的包
```
io.github.xiaoyudeguang
quick-login
1.0.2
io.github.xiaoyudeguang
quick-request-jakarta
1.0.2
io.github.xiaoyudeguang
easy-springdoc
1.0.5
```
# 使用说明
## 1.基础用法(适用于只做简单登录校验的场景)
### 1.1 yml中配置登录账号
```
quick-login:
permission:
- userNo: zhangsan #用户编码
userName: 张三 #用户名
password: 123456 #密码
avatar: http://www.baidu.com #头像地址
mobile: 17696078138 #手机号
role: admin,roleManage #角色
```
### 1.2 打开浏览器访问:http://127.0.0.1:8080/login.html?http://www.baidu.com 登陆成功后会跳转到百度

也可以通过curl进行登录,登录成功后会将cookie写回:
```
curl --location 'http://127.0.0.1:8080/login/doLogin?userNo=zhangsan&rememberMe=false' \
--header 'Content-Type: application/json' \
--data '{"userNo":"zhangsan","password":"123456"}'
```
### 1.3 接口鉴权
接口鉴权写法如下:
```
import com.xiaoyudeguang.annotations.RequestMapping;
import com.xiaoyudeguang.annotations.RestController;
@RestController(value = "/test", tags = "测试接口", author = "光")
public class TesTController {
@RequestMapping(value = "/test", summary = "鉴权测试", permission = "test")
public String test() {
return "test";
}
}
```
接口不需要鉴权的写法(permission不设置值也可以实现同样效果):
```
import com.xiaoyudeguang.annotations.RequestMapping;
import com.xiaoyudeguang.annotations.RestController;
@RestController(value = "/test", tags = "测试接口", author = "光")
public class TesTController {
@RequestMapping(value = "/test", summary = "鉴权测试", checkAuth = false)
public String test() {
return "test";
}
}
```
## 2. 自定义登录逻辑和鉴权逻辑(接入已有系统的用户体系和鉴权体系)
quick-login的登录和鉴权都是通过LoginService调用IUserService接口来实现的,可以通过自定义LoginService接口或IUserService接口实现类来重写登录和鉴权逻辑:
```
public interface LoginService {
/**
* 登录
*
* @param userNo 账号
* @param password 密码
* @param rememberMe 记住我
* @return
* @throws Throwable
*/
Map doLogin(String userNo, String password, Boolean rememberMe) throws Throwable;
/**
* 鉴权
*
* @param pjp
* @return
* @throws Throwable
*/
boolean checkPermission(ProceedingJoinPoint pjp) throws Throwable;
}
```
```
public interface IUserService {
/**
* 根据账户密码查询用户信息(用户登录)
*
* @param userNo 账号
* @param password 密码
* @return
*/
Map getUser(String userNo, String password) throws Throwable;
/**
* 根据账户查询用户权限
*
* @param loginId
* @param loginType
* @return
*/
List getPermissionList(Object loginId, String loginType);
/**
* 根据账户查询用户角色
*
* @param loginId
* @param loginType
* @return
*/
List getRoleList(Object loginId, String loginType);
}
```
# 兼容其他鉴权框架版本
[easy-satoken](https://gitee.com/easy-framework/easy-satoken)