mirror of
https://gitee.com/dromara/sa-token.git
synced 2025-04-05 17:37:53 +08:00
完善文档
This commit is contained in:
parent
d76458bac5
commit
767a1893d1
@ -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
|
@ -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() {
|
||||
|
@ -9,7 +9,10 @@
|
||||
- 参考:[踢人下线](use/kick)
|
||||
|
||||
### 能否集成redis?
|
||||
- 参考:[无cookie模式](use/dao-extend)
|
||||
- 参考:[持久层扩展](use/dao-extend)
|
||||
|
||||
### 能否使用在APP、小程序等前后台分离项目中?
|
||||
- 参考:[无cookie模式](use/not-cookie)
|
||||
|
||||
### 还是有不明白到的地方?
|
||||
- 请在`github`提交`issues`,或者加入qq群交流(群链接在[首页](README?id=交流群))
|
||||
|
@ -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)
|
||||
|
||||
|
||||
|
||||
|
@ -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`了,这两套账号认证的逻辑是完全隔离的
|
||||
|
||||
|
||||
|
||||
|
@ -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值,进行鉴权
|
||||
|
@ -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">
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user