完善文档

This commit is contained in:
2020-04-21 23:34:55 +08:00
parent d76458bac5
commit 767a1893d1
7 changed files with 53 additions and 11 deletions

View File

@ -11,7 +11,7 @@ import cn.dev33.satoken.stp.StpInterface;
* 自定义权限验证接口扩展
*/
@Component // 打开此注解保证此类被springboot扫描即可完成sa-token的自定义权限验证扩展
public class StpCustom implements StpInterface {
public class StpInterfaceImpl implements StpInterface {
// 返回一个账号所拥有的权限码集合
@Override

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta name="keywords" content="sa-token|sa-token框架|sa-token文档|sa-token在线文档|权限认证框架">
<meta name="description" content="sa-token是一个的JavaWeb权限认证框架强大、简单、好用登录验证、权限验证、自定义session会话、踢人下线、持久层扩展、无cookie模式、模拟他人账号、多账号体系、注解式鉴权、Spring集成...,零配置开箱即用,覆盖所有应用场景,你所需要的功能,这里都有">
<link rel="stylesheet" href="//unpkg.com/docsify/lib/themes/vue.css">
<link rel="stylesheet" href="https://unpkg.com/docsify@4.11.3/lib/themes/vue.css">
<link rel="shortcut icon" type="image/x-icon" href="logo.png">
<style type="text/css">
.logo-box {
@ -82,6 +82,7 @@
errorText: '错误',
successText: '复制成功'
},
// search: 'auto', // 搜索功能
alias: {
'/.*/_sidebar.md': '/_sidebar.md'
}
@ -90,6 +91,7 @@
<script src="https://unpkg.com/docsify@4.9.4/lib/docsify.min.js"></script>
<script src="https://unpkg.com/docsify-copy-code@2.1.0/dist/docsify-copy-code.min.js"></script>
<script src="https://unpkg.com/prismjs@1.19.0/components/prism-java.min.js"></script>
<!-- <script src="https://cdn.jsdelivr.net/npm/docsify/lib/plugins/search.min.js"></script> -->
<script>
(function() {

View File

@ -9,7 +9,10 @@
- 参考:[踢人下线](use/kick)
### 能否集成redis?
- 参考:[无cookie模式](use/dao-extend)
- 参考:[持久层扩展](use/dao-extend)
### 能否使用在APP、小程序等前后台分离项目中?
- 参考:[无cookie模式](use/not-cookie)
### 还是有不明白到的地方?
- 请在`github`提交`issues`或者加入qq群交流群链接在[首页](README?id=交流群)

View File

@ -28,7 +28,7 @@ import cn.dev33.satoken.stp.StpInterface;
* 自定义权限验证接口扩展
*/
@Component // 保证此类被springboot扫描完成sa-token的自定义权限验证扩展
public class StpCustom implements StpInterface {
public class StpInterfaceImpl implements StpInterface {
// 返回一个账号所拥有的权限码集合
@Override
@ -47,7 +47,7 @@ public class StpCustom implements StpInterface {
```
- 可参考代码:[码云StpCustom.java](https://gitee.com/sz6/sa-token/blob/master/sa-token-demo-springboot/src/main/java/com/pj/satoken/StpCustom.java)
- 可参考代码:[码云StpInterfaceImpl.java](https://gitee.com/sz6/sa-token/blob/master/sa-token-demo-springboot/src/main/java/com/pj/satoken/StpInterfaceImpl.java)

View File

@ -15,14 +15,15 @@
- 在构造方法时随意传入一个不同的 `login_key`,就可以再造一套账号登录体系
## 操作示例
1. 新建一个新的权限验证类,比如: `StpAdminUtil.java`
2. 将`StpUtil.java`类的全部代码复制粘贴到 `StpAdminUtil.java`
比如说,对于`StpUtil`类,我们只做`admin账号`权限验证,而对于`user账号`,我们则:
1. 新建一个新的权限验证类,比如: `StpUserUtil.java`
2. 将`StpUtil.java`类的全部代码复制粘贴到 `StpUserUtil.java`
3. 更改一下其 `login_key` 比如:
```
// 底层的 StpLogic 对象
public static StpLogic stpLogic = new StpLogic("admin"); // login_key改为admin
public static StpLogic stpLogic = new StpLogic("user"); // login_key改为user
```
4. 接下来就可以像调用`StpUtil.java`一样调用 `StpAdminUtil.java`了,这两套账号认证的逻辑是完全隔离的
4. 接下来就可以像调用`StpUtil.java`一样调用 `StpUserUtil.java`了,这两套账号认证的逻辑是完全隔离的

View File

@ -23,7 +23,35 @@
1. 无论是app还是小程序其传递方式都大同小异
2. 那就是将token塞到请求header里 ,格式为:`{tokenName: tokenValue}`
3. 以经典跨端框架`uni-app`为例:
**方式1简单粗暴**
``` js
// 1、首先在登录时将 tokenValue 存储在本地,例如:
uni.setStorageSync('tokenValue', tokenValue);
// 2、在发起ajax请求的地方获取这个值并塞到header里
uni.request({
url: 'https://www.example.com/request', // 仅为示例,并非真实接口地址。
header: {
"content-type": "application/x-www-form-urlencoded",
"satoken": uni.getStorageSync('tokenValue') // 关键代码
},
success: (res) => {
console.log(res.data);
}
});
```
**方式2更加灵活**
``` js
// 1、首先在登录时将tokenName和tokenValue一起存储在本地例如
uni.setStorageSync('tokenName', tokenName);
uni.setStorageSync('tokenValue', tokenValue);
// 2、在发起ajax的地方获取这两个值, 并组织到head里
var tokenName = uni.getStorageSync('tokenName'); // 从本地缓存读取tokenName值
var tokenValue = uni.getStorageSync('tokenValue'); // 从本地缓存读取tokenValue值
var header = {
@ -32,7 +60,15 @@
if (tokenName != undefined && tokenName != '') {
header[tokenName] = tokenValue;
}
// 后续在发起请求时将 header 对象塞到请求头部
// 3、后续在发起请求时将 header 对象塞到请求头部
uni.request({
url: 'https://www.example.com/request', // 仅为示例,并非真实接口地址。
header: header,
success: (res) => {
console.log(res.data);
}
});
```
4. 只要按照如此方法将token值传递到后端`sa-token`就能像传统PC端一样自动读取到token值进行鉴权

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta name="keywords" content="sa-token|sa-token框架|sa-token文档|sa-token在线文档|权限认证框架">
<meta name="description" content="sa-token是一个的JavaWeb权限认证框架强大、简单、好用登录验证、权限验证、自定义session会话、踢人下线、持久层扩展、无cookie模式、模拟他人账号、多账号体系、注解式鉴权、Spring集成...,零配置开箱即用,覆盖所有应用场景,你所需要的功能,这里都有">
<link rel="stylesheet" href="https://unpkg.com/docsify/lib/themes/vue.css">
<link rel="stylesheet" href="https://unpkg.com/docsify@4.11.3/lib/themes/vue.css">
<link rel="shortcut icon" type="image/x-icon" href="doc/logo.png">
<link rel="stylesheet" href="index.css">