mirror of
https://gitee.com/dromara/sa-token.git
synced 2025-06-28 13:34:18 +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的自定义权限验证扩展
|
@Component // 打开此注解,保证此类被springboot扫描,即可完成sa-token的自定义权限验证扩展
|
||||||
public class StpCustom implements StpInterface {
|
public class StpInterfaceImpl implements StpInterface {
|
||||||
|
|
||||||
// 返回一个账号所拥有的权限码集合
|
// 返回一个账号所拥有的权限码集合
|
||||||
@Override
|
@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="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="keywords" content="sa-token|sa-token框架|sa-token文档|sa-token在线文档|权限认证框架">
|
||||||
<meta name="description" content="sa-token是一个的JavaWeb权限认证框架,强大、简单、好用,登录验证、权限验证、自定义session会话、踢人下线、持久层扩展、无cookie模式、模拟他人账号、多账号体系、注解式鉴权、Spring集成...,零配置开箱即用,覆盖所有应用场景,你所需要的功能,这里都有">
|
<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">
|
<link rel="shortcut icon" type="image/x-icon" href="logo.png">
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
.logo-box {
|
.logo-box {
|
||||||
@ -82,6 +82,7 @@
|
|||||||
errorText: '错误',
|
errorText: '错误',
|
||||||
successText: '复制成功'
|
successText: '复制成功'
|
||||||
},
|
},
|
||||||
|
// search: 'auto', // 搜索功能
|
||||||
alias: {
|
alias: {
|
||||||
'/.*/_sidebar.md': '/_sidebar.md'
|
'/.*/_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@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/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://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>
|
<script>
|
||||||
(function() {
|
(function() {
|
||||||
|
@ -9,7 +9,10 @@
|
|||||||
- 参考:[踢人下线](use/kick)
|
- 参考:[踢人下线](use/kick)
|
||||||
|
|
||||||
### 能否集成redis?
|
### 能否集成redis?
|
||||||
- 参考:[无cookie模式](use/dao-extend)
|
- 参考:[持久层扩展](use/dao-extend)
|
||||||
|
|
||||||
|
### 能否使用在APP、小程序等前后台分离项目中?
|
||||||
|
- 参考:[无cookie模式](use/not-cookie)
|
||||||
|
|
||||||
### 还是有不明白到的地方?
|
### 还是有不明白到的地方?
|
||||||
- 请在`github`提交`issues`,或者加入qq群交流(群链接在[首页](README?id=交流群))
|
- 请在`github`提交`issues`,或者加入qq群交流(群链接在[首页](README?id=交流群))
|
||||||
|
@ -28,7 +28,7 @@ import cn.dev33.satoken.stp.StpInterface;
|
|||||||
* 自定义权限验证接口扩展
|
* 自定义权限验证接口扩展
|
||||||
*/
|
*/
|
||||||
@Component // 保证此类被springboot扫描,完成sa-token的自定义权限验证扩展
|
@Component // 保证此类被springboot扫描,完成sa-token的自定义权限验证扩展
|
||||||
public class StpCustom implements StpInterface {
|
public class StpInterfaceImpl implements StpInterface {
|
||||||
|
|
||||||
// 返回一个账号所拥有的权限码集合
|
// 返回一个账号所拥有的权限码集合
|
||||||
@Override
|
@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`,就可以再造一套账号登录体系
|
- 在构造方法时随意传入一个不同的 `login_key`,就可以再造一套账号登录体系
|
||||||
|
|
||||||
## 操作示例
|
## 操作示例
|
||||||
1. 新建一个新的权限验证类,比如: `StpAdminUtil.java`
|
比如说,对于`StpUtil`类,我们只做`admin账号`权限验证,而对于`user账号`,我们则:
|
||||||
2. 将`StpUtil.java`类的全部代码复制粘贴到 `StpAdminUtil.java`里
|
1. 新建一个新的权限验证类,比如: `StpUserUtil.java`
|
||||||
|
2. 将`StpUtil.java`类的全部代码复制粘贴到 `StpUserUtil.java`里
|
||||||
3. 更改一下其 `login_key`, 比如:
|
3. 更改一下其 `login_key`, 比如:
|
||||||
```
|
```
|
||||||
// 底层的 StpLogic 对象
|
// 底层的 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还是小程序,其传递方式都大同小异
|
1. 无论是app还是小程序,其传递方式都大同小异
|
||||||
2. 那就是,将token塞到请求header里 ,格式为:`{tokenName: tokenValue}`
|
2. 那就是,将token塞到请求header里 ,格式为:`{tokenName: tokenValue}`
|
||||||
3. 以经典跨端框架`uni-app`为例:
|
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 tokenName = uni.getStorageSync('tokenName'); // 从本地缓存读取tokenName值
|
||||||
var tokenValue = uni.getStorageSync('tokenValue'); // 从本地缓存读取tokenValue值
|
var tokenValue = uni.getStorageSync('tokenValue'); // 从本地缓存读取tokenValue值
|
||||||
var header = {
|
var header = {
|
||||||
@ -32,7 +60,15 @@
|
|||||||
if (tokenName != undefined && tokenName != '') {
|
if (tokenName != undefined && tokenName != '') {
|
||||||
header[tokenName] = tokenValue;
|
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值,进行鉴权
|
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="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="keywords" content="sa-token|sa-token框架|sa-token文档|sa-token在线文档|权限认证框架">
|
||||||
<meta name="description" content="sa-token是一个的JavaWeb权限认证框架,强大、简单、好用,登录验证、权限验证、自定义session会话、踢人下线、持久层扩展、无cookie模式、模拟他人账号、多账号体系、注解式鉴权、Spring集成...,零配置开箱即用,覆盖所有应用场景,你所需要的功能,这里都有">
|
<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="shortcut icon" type="image/x-icon" href="doc/logo.png">
|
||||||
<link rel="stylesheet" href="index.css">
|
<link rel="stylesheet" href="index.css">
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user