闲聊

一般情况下,我们想用uid,可能需要前端将uid传过来,或者将token传来,然后我们进行识别。

用了sa-token之后,可以使用StpUtil.getLoginId()方法获取当前会话的用户id

代码展示

例如以下代码:

    public ResponseResult getMenu() {
// 获取用户角色
Long uid = Long.parseLong(StpUtil.getLoginId().toString());
log.info("获得用户id:"+uid);
UserInfo userInfo = userMapper.getUserById(uid);
log.info("获得用户权限:"+userInfo.getRoleId());
// 获取所有激活的状态菜单
List<MenuDataItem> menus = systemMapper.getMenus(userInfo.getRoleId()); return ResponseResult.success(menus);
}

我们需要用户id来查询用户角色,因此使用StpUtil.getLoginId()直接获取到用户的id来进行操作

测试

现在有admin和root两个角色,我们可以通过加载菜单的情况看到:多用户同时登录的情况下,StpUtil.getLoginId()是能正确获取到对应用户id的。

[sa-token]StpUtil.getLoginId的更多相关文章

  1. 利用创建的sa token来创建kubectl的config文件

    1.第一步 创建一sa,并授予需要的一个权限(需要授予的权限) 2.第二步 取步骤1中的sa的 secret的token文件并进行base64解码      echo "$TOKEN&quo ...

  2. SpringBoot整合sa-token,完成网站权限验证

    sa-token是什么? sa-token是一个JavaWeb轻量级权限认证框架,其API调用非常简单,有多简单呢?以登录验证为例,你只需要: // 在登录时写入当前会话的账号id StpUtil.s ...

  3. springboot集成轻量级权限认证框架sa-token

    sa-token是什么? sa-token是一个JavaWeb轻量级权限认证框架,主要解决项目中登录认证.权限认证.Session会话等一系列由此衍生的权限相关业务.相比于其他安全性框架较容易上手. ...

  4. 初识sa-token,一行代码搞定登录授权!

    前言 在java的世界里,有很多优秀的权限认证框架,如Apache Shiro.Spring Security 等等.这些框架背景强大,历史悠久,其生态也比较齐全. 但同时这些框架也并非十分完美,在前 ...

  5. shiro太复杂?快来试试这个轻量级权限认证框架!

    前言 在java的世界里,有很多优秀的权限认证框架,如Apache Shiro.Spring Security 等等.这些框架背景强大,历史悠久,其生态也比较齐全. 但同时这些框架也并非十分完美,在前 ...

  6. SpringBoot 项目使用 Sa-Token 完成登录认证

    一.设计思路 对于一些登录之后才能访问的接口(例如:查询我的账号资料),我们通常的做法是增加一层接口校验: 如果校验通过,则:正常返回数据. 如果校验未通过,则:抛出异常,告知其需要先进行登录. 那么 ...

  7. Pandas模块

    前言: 最近公司有数据分析的任务,如果使用Python做数据分析,那么对Pandas模块的学习是必不可少的: 本篇文章基于Pandas 0.20.0版本 话不多说社会你根哥!开干! pip insta ...

  8. 操作系统——MiniDos

    #include <stdio.h> #include <string.h> #include <windows.h> ],token[],ch,sa[]; ]={ ...

  9. kubernetes API Server安全

    用户访问API Server(以下简称Server),K8S的安全检查步骤:认证和授权. 认证解决用户是谁的问题,就是验证用户名密码;授权解决用户能做什么的问题,就是检查该用户是否拥有权限访问请求的资 ...

  10. sa-token v1.9.0 版本已发布,带来激动人心新特性:同端互斥登录

    sa-token是什么? sa-token是一个JavaWeb轻量级权限认证框架, 官网首页:http://sa-token.dev33.cn/ 如果你经常使用腾讯QQ,就会发现它的登录有如下特点:它 ...

随机推荐

  1. [rCore学习笔记 029] 动态内存分配器实现-以buddy_system_allocator源码为例

    在上一部分,我们讲了动态内存分配器的原理是维护一个堆,而且是实现各种连续内存分配方法. 但是上一部分是直接通过引用了buddy_system_allocator来解决的问题. 那么对于内存分配算法有兴 ...

  2. 八字测算引流seo程序php网页版黄历/排盘/抽签/星座/生肖/解梦整站程序分享

    2演示站: https://s31.yczfcn.com/ 2源码说明: 1.手机端和PC端共两套模板,手机端访问时候自动跳转至手机端模板和域名. 2.本程序包含文章系统,结合自身的免费测算功能,适合 ...

  3. DDD之聚合与聚合根

    目的:高内聚,低耦合,有关系的实体紧密协作,关系很弱的实体被隔离:把关系紧密的实体放到一个聚合中,每个聚合中有一个实体作为聚合根,对 所有聚合对象的访问都通过聚合根来进行,外部对象只能持有对聚合根的引 ...

  4. SQLServer数据库日志太大处理方式

    SQLServer数据库日志太大处理方式 1.1 如下图,点击连接登陆数据库 1.2 如下图,打开数据库属性窗口 1.3 如下图,更改数据库恢复模式 1.4 如下图,收缩数据库日志 到这里已经完成了, ...

  5. 警告:攻击者利用 SnoarQube 漏洞盗取国内多个机构的大量源码!

    2021 年 10 月 22 日,国外知名媒体 cybernews 发文称,有未知攻击者攻击并渗透了博世 iSite 的服务器,并盗取了这家制造业巨头的 5G 物联网连接平台的源代码. 攻击者声称通过 ...

  6. 云原生周刊:使用 ChatGPT 提高安全性

    虽然 ChatGPT 最近因网络犯罪分子使用该技术加强攻击而成为负面新闻,但它也可以成为网络防御的强大资产,帮助公司最大限度地提高安全态势,同时弥合其员工的技能差距. 云安全联盟 (CSA) 最近发布 ...

  7. Nuxt.js 应用中的 build:before 事件钩子详解

    title: Nuxt.js 应用中的 build:before 事件钩子详解 date: 2024/10/20 updated: 2024/10/20 author: cmdragon excerp ...

  8. 自学PHP笔记(二) PHP数据类型

    本文转发来自:https://blog.csdn.net/KH_FC/article/details/115415323 PHP数据类型可支持以下8种类型: 类型 说明 string 字符串 bool ...

  9. SpringBoot 2.3 升级到 SpringBoot 2.7 爬坑-- SpringDoc & Swagger

    目录 POM yml 配置自定义的 OpenAPI 规范 拦截器去除 swagger 的接口验证 模型 Controller 配置 常用注解 注意:Swagger支持SpringBoot2.0但不支持 ...

  10. 蓝屏攻击 MS12-020

    目录 1.蓝屏攻击 MS12-020 搜索对应活跃主机win7蓝屏漏洞端口 Nessus 执行漏洞扫描 Metasploit 漏洞利用 msfconsole Armitage 1.蓝屏攻击 MS12- ...