<!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> <a href="https://www.pactera.com/?renqun_youhua=2483561&bd_vid=9062916023494825120" target="_blank" title="中电文思海辉"> <img src="https://oss.dev33.cn/sa-token/com/zhongdianwensi-logo.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>