前言

在java的世界里,有很多优秀的权限认证框架,如Apache Shiro、Spring Security 等等。这些框架背景强大,历史悠久,其生态也比较齐全。

但同时这些框架也并非十分完美,在前后台分离已成标配的互联网时代,这些老牌框架的很多设计理念已经相当滞后,无法与我们的项目完美契合。

而今天我要介绍的这款框架,专门为前后台分离架构而生, 功能强大, 上手简单 —— sa-token。

sa-token是什么?

sa-token是一个轻量级Java权限认证框架,主要解决: 登录认证、权限认证、Session会话 等一系列权限相关问题。

sa-token的API调用非常简单,一行代码即可搞定登录授权,废话不多说,我们直接上代码:

1. 添加pom依赖

<!-- sa-token 权限认证, 在线文档:http://sa-token.dev33.cn/ --><dependency><groupId>cn.dev33</groupId><artifactId>sa-token-spring-boot-starter</artifactId><version>1.12.0</version></dependency>

2. 调用框架API进行登录

// 在用户账号密码验证成功后,直接调用以下API进行登录授权StpUtil.setLoginId(10001);

至此,我们已经借助sa-token框架完成登录授权!

此时的你的小脑袋可能飘满了问号,就这么简单?自定义Realm呢?全局过滤器呢?我不用写各种配置文件吗? 事实上在此我可以负责的告诉你,在sa-token中,登录授权就是如此的简单,不需要什么全局过滤器,不需要各种乱七八糟的配置!只需要这一行简单的API调用,即可完成会话的登录授权! 当你受够Shiro、Security等框架的三拜九叩之后,你就会明白,相对于这些传统老牌框架,sa-token的API设计是多么的清爽! 拒绝引入复杂的概念,以实际业务需求为第一目标进行定向突破,业务上需要什么,sa-token就做什么,不搞各种云里雾里的高大上概念,以化繁为简为第一目标!

3.除了以上的登录授权,sa-token还可以一行代码完成以下功能:

        StpUtil.setLoginId(10001);          // 标记当前会话登录的账号idStpUtil.getLoginId();               // 获取当前会话登录的账号idStpUtil.isLogin();                  // 获取当前会话是否已经登录, 返回true或falseStpUtil.logout();                   // 当前会话注销登录StpUtil.logoutByLoginId(10001);     // 让账号为10001的会话注销登录(踢人下线)StpUtil.hasRole("super-admin");     // 查询当前账号是否含有指定角色标识, 返回true或falseStpUtil.hasPermission("user:add");  // 查询当前账号是否含有指定权限, 返回true或falseStpUtil.getSession();               // 获取当前账号id的Session StpUtil.getSessionByLoginId(10001); // 获取账号id为10001的SessionStpUtil.getTokenValueByLoginId(10001);  // 获取账号id为10001的token令牌值StpUtil.setLoginId(10001, "PC");        // 指定设备标识登录StpUtil.logoutByLoginId(10001, "PC");   // 指定设备标识进行强制注销 (不同端不受影响)StpUtil.switchTo(10044);                // 将当前会话身份临时切换为其它账号 

sa-token的API众多,请恕此处无法逐一为您展示,以上示例只是框架能力的很小一部分能力展示。

在sa-token中,各种与登录鉴权相关功能:踢人下线、自动续签、同端互斥登录等常见业务均可以一行代码调用实现

关于sa-token的授权登录先介绍至此,接下来的章节我会陆续介绍sa-token框架的其它各种强大能力。

写在最后

源码开源,作者不易,如果你喜欢这个框架麻烦你随手点一颗小星星哦!

官网文档:http://sa-token.dev33.cn/

Gitee开源地址: https://gitee.com/sz6/sa-token

GitHub开源地址: https://github.com/click33/sa-token

iframe带了token不显示_不就是登录吗,能有多复杂?sa-token带你轻松搞定多地登陆、单地登录、同端互斥登录...相关推荐

  1. captura录屏发生了一个错误_录屏教程的方法有哪些?学会这两种轻松搞定

    录屏教程的方法有哪些?在日常的工作以及生活当作,录屏教程的需求是经常需要做的.比方说:工作的时候,需要录屏新产品操作教程.生活中需要录屏学习基础教程等等.所以,对于录屏教程能够找到一个好用的方法是非常 ...

  2. ubantu 黑屏_手机黑屏、卡屏怎么办?几招就能轻松搞定!

    手机这个功能尤其丰富的东西,偶尔也会出现一些小毛病,比如说手机黑屏.卡屏,这对大部分用户来说应该都有遇到过.手机黑屏这真的是一件让人揪心又无奈的事情,相对于懂得这方面技术的人来说,毫无疑问是小菜一碟, ...

  3. 安装deepin后会删除win10吗_不管是先装Win10还是先装Deepin,启动问题轻松搞定

    本帖最后由 yjgsz 于 2018-10-20 11:01 编辑 一直有人发贴,问关于Win和Deepin双系统启动的问题,电脑硬件和配置复杂多样,深度官方安装程序不能解决所有问题,有人安装deep ...

  4. matlab 折线图_用Python画论文折线图、曲线图?几个代码模板轻松搞定!

    前言 这几天在搞论文图,唉说实话抠图这种东西真能逼死人.坐在电脑前抠上一天越看越丑,最后把自己丑哭了-- 到了画折线图分析的时候,在想用哪些工具的时候.首先否决了excel,读书人的事,怎么能用exc ...

  5. python画折线图代码实现_用Python画论文折线图、曲线图?几个代码模板轻松搞定!...

    前言 这几天在搞论文图,唉说实话抠图这种东西真能逼死人.坐在电脑前抠上一天越看越丑,最后把自己丑哭了-- 到了画折线图分析的时候,在想用哪些工具的时候.首先否决了excel,读书人的事,怎么能用exc ...

  6. 吾爱破解 python就可以搜到 百度网盘_【BT下载器】qbittorrent_4.1.6中文版,敏感资源轻松搞定,自带搜索引擎,...

    既然楼主发了,我就再补一些tracker地址吧,如果有条件建议置顶,方便大家复制 udp://tracker.torrent.eu.org:451/announce udp://tracker.tin ...

  7. 电脑无法识别u盘怎么办_电脑无法识别U盘?5步操作让办公族轻松搞定!

    世界那么大,谢谢你来看我!! 对于办公族,经常会遭遇这种情况:鼠标键盘都能使用,唯独U盘识别不出来! 这是怎么回事呢?难道U盘坏了? 其实啊,并非是U盘损坏了,也有可能是USB被禁用了等等的情况. 那 ...

  8. Insyde uefi 隐藏设置_安卓福利,手机桌面图标隐藏,找应用按字母轻松搞定!

    前几天玩客君刚分享了IOS最新BUG"微信"图标快速隐藏方法,后台就有粉丝回复,是否有安卓桌面图标的隐藏技巧,这不玩客君给安排上了. 小技巧:IOS 13最新版"微信&q ...

  9. 在matlab中怎么录制音频_怎么录制淘宝页面中的视频?简单方法,轻松搞定

    原标题:怎么录制淘宝页面中的视频?简单方法,轻松搞定 怎么录制淘宝页面中的视频?当前足不出户,大家就可以在很多的电商平台购买到自己心仪的商品.这其中商机也就产生了,如果不太想上班,或者说想要自己当老板 ...

最新文章

  1. ASP.NET中String.IndexOf 方法的使用
  2. 面试题整理5 顺时针打印矩阵
  3. 7kyu Exes and Ohs
  4. python numpy库安装 mac_教程|如何在mac上为Python安装XGBoost!
  5. 计算机技能鉴定几月考,计算机等级考试和职业技能鉴定考核大纲(二级Office).docx...
  6. python打包成exe_python 程序打包成exe程序
  7. mysql 5.7 创建用户_MySQL 5.7 创建用户并授权
  8. android的底部弹出框炫酷的样式,Android自定义底部弹出框ButtomDialog
  9. 微信小程序 背景图片设置
  10. python3实用小工具--语言翻译器(附源码)
  11. 中德制造业数字化转型白皮书出炉(附下载)
  12. Siebel 数学运算
  13. php 文本域,关于使用文本域(TextArea)的一个问题
  14. 从网上下载一个vue项目,跑起来的全过程
  15. 美团配送系统技术演进
  16. java实现导出内容不固定的word文档
  17. pandas笔记之分列
  18. fail2ban 的使用
  19. 腾讯云运维工程师认证(TCA)在线测试题
  20. 智能科技五大创新商业模式

热门文章

  1. [html] 说说页面中字体渲染规则是怎样的?会有哪些因素影响字体的渲染?
  2. [js] js循环中调用异步的方法,如何确保执行结果的顺序是正确的?
  3. 前端学习(2737):重读vue电商网站47之生成打包报告
  4. “约见”面试官系列之常见面试题第二十一篇之函数防抖和节流(建议收藏)
  5. 前端学习(515):两列布局第二种方案得优缺点
  6. html:(4):认识html文件基本结构和认识head标签
  7. Qt C++ 命名空间namespaces讲解
  8. java 复制对象_Java程序员必备:序列化全方位解析
  9. 电脑cpu温度过高怎么办_网络资讯:电脑cpu占用过高处理办法
  10. 1-5docker私有镜像仓库