v1.5版本 升级

This commit is contained in:
shengzhang
2020-12-16 02:10:51 +08:00
parent 19e81b257e
commit 6e10bce575
26 changed files with 287 additions and 417 deletions

View File

@@ -1,11 +1,11 @@
<p align="center">
<img alt="logo" src="http://127.0.0.1:8848/sa-token-doc/doc/logo.png" width="150" height="150" style="margin-bottom: 10px;">
<img alt="logo" src="https://gitee.com/sz6/sa-token/raw/master/sa-token-doc/doc/logo.png" width="150" height="150" style="margin-bottom: 10px;">
</p>
<h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">sa-token v1.4.0</h1>
<h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">sa-token v1.5.1</h1>
<h4 align="center">一个JavaWeb轻量级权限认证框架功能全面上手简单</h4>
<h4 align="center">
<a href="https://gitee.com/sz6/sa-token/stargazers"><img src="https://gitee.com/sz6/sa-token/badge/star.svg"></a>
<a href="https://github.com/click33/sa-token"><img src="https://img.shields.io/badge/sa--token-v1.4.0-2B9939"></a>
<a href="https://github.com/click33/sa-token"><img src="https://img.shields.io/badge/sa--token-v1.5.1-2B9939"></a>
<a href="https://github.com/click33/sa-token/stargazers"><img src="https://img.shields.io/github/stars/click33/sa-token"></a>
<a href="https://github.com/click33/sa-token/watchers"><img src="https://img.shields.io/github/watchers/click33/sa-token"></a>
<a href="https://github.com/click33/sa-token/network/members"><img src="https://img.shields.io/github/forks/click33/sa-token"></a>
@@ -48,7 +48,7 @@ StpUtil.checkLogin();
## 💦️️ 涵盖功能
-**登录验证** —— 轻松登录鉴权,提供个性化登录提示
-**登录验证** —— 轻松登录鉴权,提供五种细分场景值
-**权限验证** —— 拦截违规调用,不同角色不同授权
-**自定义session会话** —— 专业的数据缓存中心
-**踢人下线** —— 将违规用户立刻清退下线

View File

@@ -21,12 +21,11 @@
- [常见问题](/more/common-questions)
- [友情链接](/more/link)
- [更新日志](/more/update-log)
<!-- - [常见问题](/c1) -->
<!-- - [常用函数](/c1) -->
<!-- - [插件](/c1) -->
<!-- - [关于](/c1) -->
<!-- - eclipse插件 -->
<!-- - idea插件 -->
- **附录**
- [未登录场景值](/fun/not-login-scene)
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
<p style="text-align: center;">----- 到底线了 -----</p>

View File

@@ -0,0 +1,49 @@
# NotLoginException 场景值
本篇介绍如何根据`NotLoginException`异常的场景值,来定制化处理未登录的逻辑 <br/>
应用场景举例:未登录、被顶下线、被踢下线等场景需要不同方式来处理
## 何为场景值
- 在前面的章节中,我们了解到,在会话未登录的情况下尝试获取`loginId`会使框架抛出`NotLoginException`异常,而同为未登录异常却有五种抛出场景的区分 <br>
- 那么,如何获取场景值呢?废话少说直接上代码:
``` java
// 全局异常拦截拦截项目中的NotLoginException异常
@ExceptionHandler(NotLoginException.class)
public AjaxJson handlerNotLoginException(NotLoginException nle, HttpServletRequest request, HttpServletResponse response)
throws Exception {
// 打印堆栈,以供调试
nle.printStackTrace();
// 判断场景值,定制化异常信息
String message = "";
if(nle.getType().equals(NotLoginException.NOT_TOKEN)) {
message = "未提供token";
}
else if(nle.getType().equals(NotLoginException.INVALID_TOKEN)) {
message = "token无效";
}
else if(nle.getType().equals(NotLoginException.TOKEN_TIMEOUT)) {
message = "token已过期";
}
else if(nle.getType().equals(NotLoginException.BE_REPLACED)) {
message = "token已被顶下线";
}
else if(nle.getType().equals(NotLoginException.KICK_OUT)) {
message = "token已被踢下线";
}
else {
message = "当前会话未登录";
}
// 返回给前端
return AjaxJson.getError(message);
}
```
<br/>
注意:以上代码并非处理逻辑的最佳方式,只为以最简单的代码演示出场景值的获取与应用,大家可以根据自己的项目需求来定制化处理

View File

@@ -30,7 +30,7 @@
</div>
<script>
var name = '<img style="width: 50px; height: 50px; vertical-align: middle;" src="logo.png" alt="logo" /> ';
name += '<b style="font-size: 24px; vertical-align: middle;">sa-token</b> <sub>v1.4.0</sub>'
name += '<b style="font-size: 24px; vertical-align: middle;">sa-token</b> <sub>v1.5.1</sub>'
window.$docsify = {
name: name, // 名字
repo: 'https://github.com/click33/sa-token', // github地址

View File

@@ -1,5 +1,18 @@
# 更新日志
### 2020-12-16 @v1.5.1
- 新增细化未登录异常类型提供五种场景值未提供token、token无效、token已过期 、token已被顶下线、token已被踢下线 **[重要]**
- 修复:修复`StpUtil.getSessionByLoginId(String loginId)`方法转换key出错的bug感谢群友 @(#°Д°)、@一米阳光 发现的bug
- 优化:修改方法`StpUtil.getSessionByLoginId(Object loginId)`的isCreate值默认为true
- 修改:`方法delSaSession`修改为`deleteSaSession`,更加语义化的函数名称
- 新增:新增`StpUtil.getTokenName()`方法更语义化的获取tokenName
- 新增:新增`SaTokenAction`框架行为Bean方便重写逻辑
- 优化:`Cookie操作`改为接口代理模式,使其可以被重写
- 优化文档里集成redis部分增加redis的pom依赖示例
- 修复:登录验证-> `StpUtil.getLoginId_defaultNull()` 修复方法名错误的问题
- 优化:优化`readme.md`
- 升级:开源协议修改为`MIT`
### 2020-9-7 @v1.4.0
- 优化修改一些函数、变量名称使其更符合阿里java代码规范
- 优化:`tokenValue`的读取优先级改为:`request` > `body` > `header` > `cookie`

View File

@@ -9,7 +9,7 @@
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token</artifactId>
<version>1.4.0</version>
<version>1.5.1</version>
</dependency>
```
@@ -29,7 +29,7 @@
## jar包下载
[点击下载sa-token-1.4.0.jar](https://color-test.oss-cn-qingdao.aliyuncs.com/sa-token/sa-token-1.4.0.jar)
[点击下载sa-token-1.5.1.jar](https://oss.dev33.cn/sa-token/sa-token-1.5.1.jar)

View File

@@ -18,7 +18,7 @@
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token</artifactId>
<version>1.4.0</version>
<version>1.5.1</version>
</dependency>
```

View File

@@ -10,6 +10,12 @@
## 具体API
#### StpUtil.logoutByLoginId(Object loginId)
- 让指定loginId的会话注销登录清退下线
#### StpUtil.kickoutByLoginId(Object loginId)
- 让指定loginId的会话注销登录踢人下线
## 详解
- `logoutByLoginId``kickoutByLoginId` 都可以将用户强制下线,不同点在于:
- `logoutByLoginId` 是将人清退,用户得到的提示是 [token无效] ,对于失效原因尚未可知 NotLoginException场景值为-2
- `kickoutByLoginId` 是将人踢下线,用户可得到明确提示 [已被踢下线] NotLoginException场景值为-5

View File

@@ -25,6 +25,7 @@
#### StpUtil.checkLogin()
- 检验当前会话是否已经登录, 如果未登录,则抛出异常:`NotLoginException`
- 扩展:`NotLoginException` 对象可通过 `getLoginKey()` 方法获取具体是哪个 `StpLogic` 抛出的异常
- 扩展:`NotLoginException` 对象可通过 `getType()` 方法获取具体的场景值,详细参考章节:[未登录场景值](/fun/not-login-scene)
#### StpUtil.getLoginId()
- 获取当前会话登录id, 如果未登录,则抛出异常:`NotLoginException`
@@ -38,7 +39,8 @@
- 类似API还有
- `StpUtil.getLoginIdDefaultNull()` 获取当前会话登录id, 如果未登录则返回null
#### getLoginIdByToken(String tokenValue)
#### StpUtil.getLoginIdByToken(String tokenValue)
- 获取指定token对应的登录id如果未登录则返回 null
#### StpUtil.getTokenName()
- 获取当前`StpLogic`的token名称

View File

@@ -43,7 +43,7 @@
<!-- 内容部分 -->
<div class="main-box">
<div class="content-box">
<h1>sa-token<small>v1.4.0</small></h1>
<h1>sa-token<small>v1.5.1</small></h1>
<div class="sub-title">一个JavaWeb轻量级权限认证框架功能全面上手简单</div>
<!-- <p>0配置开箱即用低学习成本</p> -->
<p>登录验证、权限验证、自定义session会话、踢人下线、持久层扩展、无cookie模式、模拟他人账号、多账号体系、注解式鉴权、Spring集成...</p>