sa-token/sa-token-doc/index.html
2021-11-08 00:50:14 +08:00

485 lines
23 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>Sa-Token</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="description" content="sa-token是一个java权限认证框架功能全面上手简单登录认证、权限认证、Session会话、踢人下线、账号封禁、集成Redis、前后台分离、分布式会话、微服务网关鉴权、单点登录、OAuth2.0、临时Token验证、记住我模式、模拟他人账号、临时身份切换、多账号体系、注解式鉴权、路由拦截式鉴权、花式token、自动续签、同端互斥登录、会话治理、密码加密、jwt集成、Spring集成、WebFlux集成...有了sa-token你所有的权限认证问题都不再是问题">
<meta name="keywords" content="sa-token,sa-token框架,sa-token文档,java权限认证">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<link rel="shortcut icon" type="image/x-icon" href="doc/logo.png">
<link rel="stylesheet" href="./index.css">
<!-- <link rel="stylesheet" href="https://unpkg.zhimg.com/docsify@4.11.3/lib/themes/vue.css"> -->
</head>
<body>
<!-- 总盒子 -->
<div class="z-div" style="">
<!-- ------------ 头部 ------------- -->
<header class="s-header">
<a href="/" style="text-decoration: none;">
<div class="logo-box">
<img src="doc/logo.png" title="logo">
<span class="logo-text">Sa-Token</span>
</div>
</a>
<nav class="nav-right">
<a href="index.html">首页</a>
<a href="doc/index.html">文档</a>
<a href="http://sa-app.dev33.cn/wall.html?name=sa-token" target="_blank">需求墙</a>
<a href="doc/#/more/update-log">更新日志</a>
<!-- github小章鱼图标 -->
<a href="https://github.com/dromara/sa-token" target="_blank" class="github-corner" aria-label="View source on Github" style="position: fixed; right: -16px;">
<svg viewBox="0 0 250 250" aria-hidden="true">
<path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path>
<path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2"
fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path>
<path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z"
fill="currentColor" class="octo-body"></path>
</svg>
</a>
</nav>
</header>
<!-- ------------ 海报部分 ------------- -->
<div class="main-box">
<div class="content-box">
<div class="fenge"></div>
<!-- <img class="title-logo" src="./doc/logo.png" onclick="alert('别点我, 快去点star')"> -->
<h1>Sa-Token<small>v1.28.0</small></h1>
<div class="sub-title">一个轻量级 java 权限认证框架,让鉴权变得简单、优雅!</div>
<div class="btn-box">
<a href="https://github.com/dromara/sa-token" target="_blank">GitHub</a>
<a href="https://gitee.com/dromara/sa-token" target="_blank">码云</a>
<!-- <a href="https://jq.qq.com/?_wv=1027&k=45H977HM" target="_blank">加QQ群</a> -->
<!-- <a href="http://sa-app.dev33.cn/wall.html?name=sa-token" target="_blank">需求墙</a> -->
<a href="doc/index.html" target="_self" class="doc-btn">开发文档</a>
</div>
<h4 align="center">
<a href="https://gitee.com/dromara/sa-token/stargazers"><img src="https://gitee.com/dromara/sa-token/badge/star.svg?theme=gvp"></a>
<a href="https://gitee.com/dromara/sa-token/members"><img src="https://gitee.com/dromara/sa-token/badge/fork.svg?theme=gvp"></a>
<a href="https://github.com/dromara/sa-token/stargazers"><img src="https://img.shields.io/github/stars/dromara/sa-token?style=flat-square&logo=GitHub"></a>
<a href="https://github.com/dromara/sa-token/network/members"><img src="https://img.shields.io/github/forks/dromara/sa-token?style=flat-square&logo=GitHub"></a>
<a href="https://github.com/dromara/sa-token/watchers"><img src="https://img.shields.io/github/watchers/dromara/sa-token?style=flat-square&logo=GitHub"></a>
<a href="https://github.com/dromara/sa-token/issues"><img src="https://img.shields.io/github/issues/dromara/sa-token.svg?style=flat-square&logo=GitHub"></a>
<a href="https://github.com/dromara/sa-token/blob/master/LICENSE"><img src="https://img.shields.io/github/license/dromara/sa-token.svg?style=flat-square"></a>
</h4>
<div class="wx-qr-box">
<div class="qr-item">
<img class="wx-qr" src="https://oss.dev33.cn/sa-token/qq-group-2.png" >
<p style="">QQ交流群: 614714762 <a href="https://jq.qq.com/?_wv=1027&k=b759RZrL" target="_blank">点击加入</a></p>
</div>
<div class="qr-item">
<img class="wx-qr" src="https://oss.dev33.cn/sa-token/wx-qr-300.png" >
<p>微信交流群:扫码加入 (请备注: sa)</p>
</div>
</div>
</div>
</div>
<!-- ------------ 支持特性 ------------- -->
<div>
<div class="feature-z s-width">
<h2 class="s-title">支持 ⚡ 特性</h2>
<div class="feature-box">
<div class="feature">
<h2>登录认证</h2>
<p>多地登录、单地登录、同端互斥登录…… 轻松登录鉴权,并提供五种细分场景值</p>
</div>
<div class="feature">
<h2>权限认证</h2>
<p>权限认证、角色认证、会话二级认证……适配RBAC权限模型权限分配精细到按钮级</p>
</div>
<div class="feature">
<h2>Session会话</h2>
<p>内置三种会话模型全端共享Session、单端独享Session、自定义Session</p>
</div>
<div class="feature">
<h2>踢人下线</h2>
<p>一行代码实现踢人下线功能,清退违规用户,对方再次访问系统提示“已被踢下线”</p>
</div>
<div class="feature">
<h2>账号封禁</h2>
<p>封禁指定账号,使其无法登陆,还可指定解封时间,亦或永久封禁!</p>
</div>
<div class="feature">
<h2>Redis集成</h2>
<p>可扩展持久层集成Redis、Memcached等专业缓存中间件重启数据不丢失</p>
</div>
<div class="feature">
<h2>前后台分离</h2>
<p>三种token读取策略适配无Cookie模式完美兼容APP、小程序等前后台分离场景</p>
</div>
<div class="feature">
<h2>分布式会话</h2>
<p>保证多节点数据一致性提供jwt集成和共享数据中心两种分布式会话方案</p>
</div>
<div class="feature">
<h2>微服务网关鉴权</h2>
<p>适配Gateway、ShenYu、Zuul等常见网关组件的请求拦截认证</p>
</div>
<div class="feature">
<h2>单点登录</h2>
<p>内置三种单点登录模式无论是否跨域、是否共享Redis都可以轻松搞定</p>
</div>
<div class="feature">
<h2>OAuth2.0</h2>
<p>基于RFC-6749标准编写OAuth2.0标准流程的授权认证支持openid模式 </p>
</div>
<div class="feature">
<h2>Alone独立Redis</h2>
<p>为Sa-Token单独配置一个Redis实例将权限缓存与业务缓存分离 </p>
</div>
<div class="feature">
<h2>临时Token验证</h2>
<p>集成jwt临时验证模块用于短时间的权限验证</p>
</div>
<div class="feature">
<h2>临时身份切换</h2>
<p>实时操作任意用户状态数据还可临时身份切换关键时刻让你少写N多代码</p>
</div>
<div class="feature">
<h2>同端互斥登录</h2>
<p>像QQ一样手机电脑可以同时在线但是在两个手机上互斥登录</p>
</div>
<div class="feature">
<h2>多账号体系认证</h2>
<p>例如一个商城项目的User表和Admin表分开鉴权互不干扰轻松搞定一个系统多套权限体系的场景</p>
</div>
<div class="feature">
<h2>二级认证</h2>
<p>在已登录的会话上再次认证,保证安全性</p>
</div>
<div class="feature">
<h2>Http Basic 认证</h2>
<p>一行代码接入 Http Basic 认证</p>
</div>
<div class="feature">
<h2>定制Token风格</h2>
<p>内置六种token风格随意切换还可自定义token生成策略</p>
</div>
<div class="feature">
<h2>注解式鉴权</h2>
<p>优雅的将鉴权与业务代码分离!</p>
</div>
<div class="feature">
<h2>路由拦截式鉴权</h2>
<p>轻松搞定不同模块不同权限校验还可适配Restful风格路由</p>
</div>
<div class="feature">
<h2>自动续签</h2>
<p>提供两种token过期策略灵活搭配使用还可自动续签</p>
</div>
<div class="feature">
<h2>会话治理</h2>
<p>提供方便灵活的会话查询接口绕过API直达数据底层解决各种边际场景的疑难杂症</p>
</div>
<div class="feature">
<h2>记住我模式</h2>
<p>轻松适配 [记住我] 模式,重启浏览器免验证,还可指定免验证具体时长</p>
</div>
<div class="feature">
<h2>密码加密</h2>
<p>提供密码加密模块可快速MD5、SHA1、SHA256、AES、RSA加密</p>
</div>
<div class="feature">
<h2>全局侦听器</h2>
<p>可在用户登陆、注销、被踢下线等关键性操作时进行一些AOP操作</p>
</div>
<div class="feature">
<h2>开箱即用</h2>
<p>提供SpringMVC、WebFlux、Solon等常见web框架的starter集成包真正的开箱即用</p>
</div>
</div>
<div class="re-text">有了Sa-Token你所有的权限认证问题都不再是问题</div>
</div>
</div>
<!-- ------------ 使用公司 ------------- -->
<div>
<div class="com-box-f s-width">
<div class="s-fenge"></div>
<br>
<h2 class="s-title">正在使用 Sa-Token 的公司 / 机构</h2>
<div class="com-box">
<a href="http://yun94.cn/" target="_blank" title="济南凉云网络科技有限公司">
<img src="https://oss.dev33.cn/sa-token/com/liangyunwangluo.png">
</a>
<a href="http://www.jmwl51.com/" target="_blank" title="济南极梦网络科技有限公司">
<img src="https://oss.dev33.cn/sa-token/com/jimengwangluo.png">
</a>
<a href="https://www.suancheng.co/" target="_blank" title="山东酸橙网络科技有限公司">
<img src="https://oss.dev33.cn/sa-token/com/suanchengdudu.png">
</a>
<a href="https://chykj.com/" target="_blank" title="山东察远信息科技有限公司">
<img src="https://chykj.com/upload/1/cms/content/cylogoc.jpg">
</a>
<a href="https://shop.jfh.com/6089/" target="_blank" title="山东半夏网络科技有限公司">
<img src="https://oss.dev33.cn/sa-token/com/banxiawangluo.png">
</a>
<a href="https://ms.airsr.com/" target="_blank" title="北京天衢航空服务有限公司">
<img src="https://oss.dev33.cn/sa-token/com/tianquhangkong.png">
</a>
<a href="###" title="货好多科技">
<img src="https://oss.dev33.cn/sa-token/com/huohaoduo.png">
</a>
<a href="http://www.jmwl51.com/" target="_blank" title="济南极梦网络科技有限公司">
<img src="https://oss.dev33.cn/sa-token/com/jimeng.png">
</a>
<a href="https://uniadmin.jiangruyi.com/" target="_blank" title="南京星意信息科技有限公司">
<img src="https://oss.dev33.cn/sa-token/com/uniadmin.png">
</a>
<a href="http://www.tuodan.tech/" target="_blank" title="深圳加速脱单科技有限公司">
<img src="https://oss.dev33.cn/sa-token/com/tuodan.jpeg">
</a>
<a href="https://www.yangxuwang.com/" target="_blank" title="上海阳旭网络科技有限公司">
<img src="https://oss.dev33.cn/sa-token/com/shouxin.png">
</a>
<a href="https://www.ec-sudo.com/" target="_blank" title="深圳数独科技有限公司">
<img src="https://oss.dev33.cn/sa-token/com/shudukeji.png">
</a>
<a href="https://budwk.com/" target="_blank" title="BudWk 开发框架 V7.x">
<img src="https://oss.dev33.cn/sa-token/com/budwk.png">
</a>
<a href="https://www.quandashi.com/" target="_blank" title="北京梦知网科技有限公司">
<img src="https://oss.dev33.cn/sa-token/com/quandashi.png">
</a>
<a href="http://www.gree.com.cn/" target="_blank" title="珠海格力电器股份有限公司">
<img src="https://oss.dev33.cn/sa-token/com/geli.jpeg">
</a>
<a href="http://www.dchealth.com/" target="_blank" title="神州医疗">
<img src="https://oss.dev33.cn/sa-token/com/shenzhouyiliao.png">
</a>
<a href="https://www.quoting.cn/" target="_blank" title="引止">
<img src="https://oss.dev33.cn/sa-token/com/yinzhi.png">
</a>
<a href="http://www.dzlanke.cn/" target="_blank" title="德州蓝客网络科技">
<img src="https://oss.dev33.cn/sa-token/com/dezhoulanke.png">
</a>
<a href="http://www.turingoal.com" target="_blank" title="图灵谷(北京)科技有限公司">
<img src="https://oss.dev33.cn/sa-token/com/tulinggu.png">
</a>
</div>
<div style="height: 10px; clear: both;"></div>
<p style="color: #666;">
(如果您的项目也使用了 Sa-Token您可以
<a href="https://gitee.com/dromara/sa-token/issues/I3EV1M" target="_blank" style="text-decoration: none;">在此</a>
提交)
</p>
</div>
<div style="height: 60px;"></div>
</div>
<!-- ------------ 友情链接 ------------- -->
<div>
<div class="com-box-f s-width">
<div class="s-fenge"></div>
<br>
<h2 class="s-title">友情链接</h2>
<div class="com-box com-box-you">
<a href="https://gitee.com/Apache-ShenYu/incubator-shenyu" target="_blank">
<img src="https://oss.dev33.cn/sa-token/link/shenyu.png" msg="JAVA语言中可扩展高性能响应式的 API 网关">
</a>
<a href="https://gitee.com/dromara/TLog" target="_blank">
<img src="https://oss.dev33.cn/sa-token/link/tlog2.png" msg="一个轻量级的分布式日志标记追踪神器10分钟即可接入自动对日志打标签完成微服务的链路追踪">
</a>
<a href="https://gitee.com/dromara/liteFlow" target="_blank">
<img src="https://oss.dev33.cn/sa-token/link/liteflow.png" msg="轻量,快速,稳定,可编排的组件式流程引擎">
</a>
<a href="https://hutool.cn/" target="_blank">
<img src="https://cdn.jsdelivr.net/gh/looly/hutool-site/images/logo.jpg" msg="🍬小而全的Java工具类库使Java拥有函数式语言般的优雅让Java语言也可以“甜甜的”。">
</a>
<a href="https://dromara.org/zh/projects/" target="_blank">
<img src="https://oss.dev33.cn/sa-token/link/dromara.png" msg="让每一位开源爱好者,体会到开源的快乐。">
</a>
<a href="https://okhttps.ejlchina.com/" target="_blank">
<img src="https://oss.dev33.cn/sa-token/link/okhttps.png" msg="如艺术一般优雅,像 1、2、3 一样简单,前后端通用,轻量却强大的 HTTP 客户端(同时支持 WebSocket 以及 Stomp 协议)">
</a>
<a href="https://xiaonuo.vip/" target="_blank">
<img src="https://oss.dev33.cn/sa-token/link/xiaonuo.png" msg="通用型后台权限管理框架,紧随潮流、开箱即用, 同时拥有Vue、Layui、SpringCloud三个版本">
</a>
<a href="https://cubic.jiagoujishu.com/" target="_blank">
<img src="https://oss.dev33.cn/sa-token/link/cubic.png" msg="一站式问题定位平台以agent的方式无侵入接入应用完整集成arthas功能模块致力于应用级监控帮助开发人员快速定位问题">
</a>
<a href="http://www.pearadmin.com/" target="_blank">
<img src="https://oss.dev33.cn/sa-token/link/pear-admin.png" msg="致 力 于 让 Web 开 发 变 得 简 单 优 雅">
</a>
<a href="https://maxkey.top/" target="_blank">
<img src="https://oss.dev33.cn/sa-token/link/maxkey.png" msg="业界领先的身份管理和认证产品">
</a>
<a href="http://forest.dtflyx.com/" target="_blank">
<img src="https://oss.dev33.cn/sa-token/link/forest-logo.png" msg="Forest能够帮助您使用更简单的方式编写Java的HTTP客户端" nf>
</a>
<a href="https://jpom.io/" target="_blank">
<img src="https://oss.dev33.cn/sa-token/link/jpom.png" msg="一款简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件">
</a>
<a href="https://su.usthe.com/" target="_blank">
<img src="https://oss.dev33.cn/sa-token/link/sureness.png" msg="面向 REST API 的高性能认证鉴权框架">
</a>
<a href="https://searcher.ejlchina.com/" target="_blank">
<img src="https://oss.dev33.cn/sa-token/link/bean-searcher.png" msg="轻量级关系数据库条件检索引擎,使一行代码实现复杂列表检索成为可能!">
</a>
</div>
<div style="height: 10px; clear: both;"></div>
</div>
<div style="height: 60px;"></div>
</div>
<!-- ------------ 底部 连接 ------------- -->
<div id="footer">
<div id="s-footer" class="mao-link"></div>
<div class="footer-r-b s-width">
<div class="ss-box">
<h3>特别鸣谢</h3>
<ul class="list-unstyle">
<li><a href="https://dromara.org/zh/projects/" target="_blank">Dromara社区</a></li>
<li><a href="https://gitee.com/Apache-ShenYu/incubator-shenyu" target="_blank">ShenYu 网关</a></li>
<li><a href="https://gitee.com/dromara/TLog" target="_blank">TLog 分布式日志</a></li>
</ul>
</div>
<div class="ss-box">
<h3>友情链接</h3>
<ul class="list-unstyle">
<li><a href="https://www.aliyun.com/" target="_blank">阿里云</a></li>
<li><a href="https://cloud.tencent.com/" target="_blank">腾讯云</a></li>
<li><a href="https://juejin.cn/" target="_blank">掘金 · 技术社区</a></li>
</ul>
</div>
<div class="ss-box">
<h3>联系我们</h3>
<ul class="list-unstyle">
<!-- <li>电话:<a href="tel:123;">123</a></li> -->
<li>QQ群 <a href="https://jq.qq.com/?_wv=1027&k=b759RZrL" target="_blank">614714762</a></li>
<li>邮箱:<a href="javascript: alert('暂无');">暂无</a></li>
<li>联系:<a href="javascript: alert('暂无');">暂无</a></li>
</ul>
</div>
<div class="ss-box">
<h3 class="last" style="text-align: left; float: none; padding-left: 0px;">Sa-Token 公众号</h3>
<div class="media-img padding-small-top" style="text-align: left;">
<img class="dro-qr" src="https://oss.dev33.cn/sa-token/lykj-gzh.jpg" width="100" height="100" />
</div>
</div>
</div>
</div>
<!-- -------------- 底部 版权 -------------- -->
<div>
<meta charset="UTF-8">
<style type="text/css">
</style>
<div class="foot-box" id="foot">
<div class="s-width" style="text-align: center;">
Copyright ©2021 Sa-Token java权限认证 | sa-token.dev33.cn | <a href="https://beian.miit.gov.cn/" target="_blank">鲁ICP备18046274号-2</a>
</div>
</div>
</div>
</div>
<!-- 搜索引擎自动提交 -->
<script>
(function() {
var bp = document.createElement('script');
var curProtocol = window.location.protocol.split(':')[0];
if (curProtocol === 'https') {
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
} else {
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
}
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(bp, s);
})();
</script>
<!-- 友盟统计 -->
<div style="height: 0px; overflow: hidden;">
<script type="text/javascript" src="https://s4.cnzz.com/z_stat.php?id=1279646043&web_id=1279646043"></script>
</div>
<!-- 百度统计 -->
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?77d7418dd845f98ba1cfee8596eeee3f";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
<!-- 悬浮效果 -->
<script src="https://unpkg.com/jquery@3.4.1/dist/jquery.min.js"></script>
<script src="https://www.layuicdn.com/layer-v3.1.1/layer.js"></script>
<script type="text/javascript">
// 鼠标悬浮在友情链接时,提示信息
$(".com-box-you a img").hover(function(){
var msg = $(this).attr("msg") ;
if(msg) {
window.msgLayer = layer.tips(msg, $(this), {tips: 1, time: 0});
}
},function(){
var index = window.msgLayer;
setTimeout(function() {
layer.close(index);
}, 1000);
});
// 点击二维码放大
$('.wx-qr,.dro-qr').click(function() {
var w = '300px';
var h = '300px';
var content = '<div style="height: 100%; overflow: hidden !important;">' +
'<img src="' + this.src + ' " style="width: 100%; height: 100%;" />' +
'</div>';
layer.open({
type: 1,
title: false,
shadeClose: true,
closeBtn: 0,
area: [w, h], //宽高
content: content
});
})
// set 一下 img 的宽度
function setImgWidth(img) {
// 如果已经有了宽度参数,则不追加
if(img.src.indexOf('?') > -1) {
return;
}
// console.log(img.getAttribute('nf'));
if(img.getAttribute('nf') != null) {
return;
}
img.src = img.src + "?x-oss-process=image/resize,m_lfit,w_" + (img.width) + ",limit_0/auto-orient,0";
}
// set 一遍 img 的尺寸,防止失真
function f5ImgSize() {
$('.com-box-f .com-box a img').each(function() {
// console.log(this.src, this.width);
// 未加载完毕时则等待其load之后再设置
if(this.complete == false) {
this.onload = function() {
setImgWidth(this);
}
return;
}
// 追加宽度参数
setImgWidth(this);
})
}
if(window.innerWidth > 1800) {
if(navigator.userAgent.indexOf('WebKit') > -1) {
f5ImgSize();
}
}
</script>
</body>
</html>