# athena-security
**Repository Path**: mingbaobaba/athena-security
## Basic Information
- **Project Name**: athena-security
- **Description**: athena-security是一个基于token的轻量级权限认证框架,以简单、优雅为设计目标。主要解决登录认证等一系列权限相关问题。
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 10
- **Forks**: 0
- **Created**: 2023-08-22
- **Last Updated**: 2025-12-21
## Categories & Tags
**Categories**: authority-management
**Tags**: 权限认证框架, 单点登录, OAuth2, 统一认证, 登录认证
## README
# athena-security
## 简介
athena-security 是一个基于 token 的轻量级权限认证框架,以简单、优雅为设计目标。主要解决登录认证等一系列权限相关问题。
## 框架设计

## 功能使用
### 登录认证
```java
// 会话登录 支持单端登录 多端登录 同端互斥登录
SecurityUtil.doLogin("账号");
```
### 登录检查
```java
// 检查token
SecurityUtil.checkToken();
```
### 登录信息
```java
// 获取登录信息
SecurityUtil.getCurrentSecuritySession();
```
### 账号封禁
```java
// 对指定token进行封禁操作
SecurityUtil.bannedToken("token值");
```
### 账号解封
```java
// 对指定token进行解封操作
SecurityUtil.unsealToken("token值");
```
### 踢人下线
```java
// 对指定token进行踢下线操作
SecurityUtil.kickToken("token值");
```
### 自动续签
```java
// 框架支持自动续约配置,也可以手动调用进行续约操作
SecurityUtil.renewalToken();
```
### 退出登录
```java
// 退出当前登录账号
SecurityUtil.loginOut();
```
### 查询列表
```java
// 查询SecuritySession列表
SecurityUtil.querySecuritySessionList(当前页,分页大小);
```
### 移除操作
```java
// 指定token移除操作
SecurityUtil.removeToken("token值");
```
### 临时身份切换
```java
// 临时身份切换
SecurityUtil.identityTempSwitching("登录Id",()->{
// 操作内容
});
```
### 权限判断
```java
// 判断是否拥有指定角色
SecurityUtil.hasRole("角色码");
// 判断是否有指定权限码
SecurityUtil.hasPermission("权限码");
```
### 权限认证
1. 实现 `SecurityAuthority` 接口
```java
io.gitee.mingbaobaba.security.core.authority.SecurityAuthority
```
2. 配置拦截器
```java
registry.addInterceptor(new SecurityInterceptor(new SecurityInterceptor(m -> SecurityRouter.build().run(m))))
.addPathPatterns("/**")
```
3. 添加注解说明
```java
@SecurityIgnore // 忽略认证
@SecurityCheckRole // 检查角色值
@SecurityCheckPermission // 检查权限值
```
## 基础集成说明
### Redis + Spring Boot 集成
```xml
io.gitee.mingbaobaba
athena-security-plugin-redis
最新版本
io.gitee.mingbaobaba
athena-security-spring-boot-starter
最新版本
```
## 接口访问
在请求header头中添加:
```
key:Athena-Authorization
value: token值
```
## 文档
更多文档说明请访问:https://gitee.com/mingbaobaba/athena-security/wikis/
## 交流
QQ群:259890823(进群问题答案:Athena-Security)
## 许可证
本项目使用 MIT 许可证。详情请查看 LICENSE 文件。