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

前言

在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

cdf186c2d6b8f6c96d29e1e7cccd55ed.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/412224.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Day 3 in India

时间&#xff1a;2005-4-3 10:15地点&#xff1a;Vikram New Delhi(3) 开始对印度的饮食产生反应昨天中午吃的是印度菜&#xff0c;就是几个碗里面有不同的菜&#xff08;我是这么认为的&#xff09;&#xff0c;然后上一些类似于国内的煎饼之类的东西。先拿一块饼放到自己的盘…

该文件可能是只读的 或者您要访问的位置_喔噢小贴士:如何保护PPT不被更改,将其设为只读...

如果要阻止其他人对Microsoft PowerPoint演示文稿进行编辑&#xff0c;或者让其他人知道您发送的文件是最终版本&#xff0c;则可以将其设为只读。只需要几步点击。注意&#xff1a;虽然将PowerPoint演示文稿设为只读可以很好地阻止其他人编辑您的内容&#xff0c;但解锁只读演…

BmpEncrypt v3.20.1017 ++ 加密器

BmpEncrypt v3.20.1017 软件版本: 3.20.1017 软件授权: 免费软件使用平台: Win9x/Me/NT/2000/XP/2003发布公司: WAYHOME (Software) Studio联系方法: wayhomestudio126.com官方网址: http://www.heehot.com/bmpencrypt/ 软件简介: BmpEncrypt 几乎是加密软件中最 Cool, 最有…

Java常考面试题(一)

https://blog.csdn.net/linzhiqiang0316/article/details/80473906转载于:https://www.cnblogs.com/xinruyi/p/10394308.html

HDU 4291 A Short problem 矩阵快速幂 循环节

题解思路&#xff1a; 构造矩阵&#xff0c;矩阵乘法计算还是t; 需要找循环节; (注意因为是复合函数&#xff0c;不可以在里面取mod) 暴力跑只有可以找到g(222222224)%1e9g(0)%1e9; 所以 g(g(n)%222222224)%1e9g(g(n)); 之后还可以跑出2个循环节 从内到外 240 183120 222222…

今早服务器出现的问题

开始发现服务器不能访问&#xff0c;以为又是网线的问题&#xff0c;叫人弄了后能访问了&#xff0c;后来发了条弹出窗口的公告&#xff0c;发现弹出窗口不能显示&#xff0c;再后来干脆整个网站都没法访问了&#xff0c;赶忙去机房看看&#xff0c;它说磁盘空间不足&#xff0…

c语言向文件中写入字符串_C语言中定义字符串的两种方式及其比较

先看如下代码&#xff1a;以上用两种方式定义一个字符串&#xff1a;1、定义一个char * 类型指针&#xff0c;指向字符串首字符首地址。2、定义一个数组&#xff0c;数组里存放元素为字符串各个字符0,其中0为码0值&#xff0c;编译器会自动在字符串的末尾添加此值。先看这两个&…

define 字符串_C++如何使用define关键字以便使用中文编程?

先上代码&#xff1a;#include <iostream> #define 使用 using #define 整型 int #define 浮点 double #define 命名空间 namespace #define IO流 std #define 输出文本 cout #define 输入文本 cin #define 换行 endl #define 输出流 << #define 输入流 >> #…

JavaScript和ASP.NET的传值

因项目需要&#xff0c;最近一段时间里对于js的开发有了一定的了解。在基于ASP.NET的开发中&#xff0c;经常性的需要JS脚本来增加一些客户端的控制&#xff0c;比如限制输入字符&#xff0c;日期控件等等。一般这样的控制基本上在客户端完成就比较好&#xff0c;无需回传到服务…

前端学习(2879)歌谣学习篇原生js和canvas实现弹幕功能

我是歌谣 放弃很难 坚持一定很酷 2021继续加油 目录结构 文件地址 源码地址后面可见 源码文件 index.css body { margin: 0; } .container { width: 1000px; margin: 0 auto; } .video-wrapper { position: relative; } .video-wrapper video { width: 100%; } .video…

ThreadLocal系列(二)-InheritableThreadLocal的使用及原理解析

ThreadLocal系列之InheritableThreadLocal的使用及原理解析&#xff08;源码基于java8&#xff09; 上一篇&#xff1a;ThreadLocal系列&#xff08;一&#xff09;-ThreadLocal的使用及原理解析 下一篇&#xff1a;ThreadLocal系列&#xff08;三&#xff09;-TransmittableTh…

oracle数据库跟mysql的区别_关于Oracle数据库与MySQL数据库的几点区别

Oracle数据库与MySQL数据库的区别是本文我们主要要介绍的内容&#xff0c;接下来我们就开始介绍这部分内容&#xff0c;希望能够对您有所帮助。Oracle与MySQL的区别&#xff1a;1.在Oracle中用select * from all_users显示所有的用户&#xff0c;而在MYSQL中显示所有数据库的命…

年轻讨厌而又美丽可爱的城市

年轻讨厌而又美丽可爱的城市&#xff0d;&#xff0d;深圳。上海是什么样的&#xff1f;真要去看看。一只乌鸦坐在高高的树枝上&#xff0c;一只兔子看见后就问它&#xff1a;“我可以像你一样 坐着不动吗&#xff1f;”乌鸦说&#xff1a;“当然可以。”于是兔子便坐在树底下。…

汤姆逊灯

由 MIT (Massachusetts Institute of Technology) 哲学教授在1954年提出&#xff1a;考虑一盏开关由一个复杂的定时器控制的灯。实验开始时&#xff0c;灯是开着的&#xff0c;并且正好开一分钟。这一分钟结束时定时器把灯关闭&#xff0c;这样持续半分钟。之后&#xff0c;又把…