subject 获取登录用户信息
shiro 管理登录,获取登录信息的方式常用的是:
Subject sub = SecurityUtils.getSubject();
Object obj = sub.getPrincipal();
这里的 obj 是字符串,还是某个实体,取决于 ShiroRealm 类的设置值,代码如下:
@Overrideprotected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken)throws AuthenticationException {System.out.println("获取登录者信息-->MyShiroRealm.doGetAuthenticationInfo()");UsernamePasswordToken token = (UsernamePasswordToken) authenticationToken;String userS = token.getUsername();User user = userService.findByName(userS);if (user != null) {LoginInfo info = new LoginInfo();info.setName(user.getName());info.setLoginId(user.getId);return new SimpleAuthenticationInfo(info, user.getPassword(), getName());}return null;}
如果像上面这样设置,读取登录信息就是
LoginInfo login = (LoginInfo) SecurityUtils.getSubject().getPrincipal();
如果设置登录信息的地方如下:
@Overrideprotected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken)throws AuthenticationException {System.out.println("获取登录者信息-->MyShiroRealm.doGetAuthenticationInfo()");UsernamePasswordToken token = (UsernamePasswordToken) authenticationToken;String userS = token.getUsername();User user = userService.findByName(userS);return new SimpleAuthenticationInfo(users, user.getPassword(), getName());}
读取登录信息就是:
String loginName = (String) SecurityUtils.getSubject().getPrincipal();
提醒:
网络上面好多入门级的程序员,说话的时候要负责任,不要误导别人,为了营造一个优良的开源环境或者社区,至少从自己开始做起吧。
后续,有空会更新关于自定义 shiro 的一些组件实现单点登录的方式
subject 获取登录用户信息相关推荐
- Spring MVC 实战:三种方式获取登录用户信息
前言 Web 项目中,维持用户登录状态的常用方式有三种,分别是 Cookie.Session.Token,不管哪种方案,都需要获取到用户信息供业务层使用. 由于获取用户信息与具体业务无关,因此在普通的 ...
- 微信小程序Ⅴ [获取登录用户信息,重点openID(详解)]
♩ 背景 其实这篇文章几个月前就写完了,但是这段时间,微信小程序官方文档有了更新,同事在我自己的实际操作过程中,发现之前写的过于繁杂,所以现在进行简化梳理,欢迎指摘. 语言框架:ThinkPHP3.2 ...
- 钉钉企业内部应用获取登录用户信息
1.创建企业内部应用 首先在钉钉开放平台注册企业内部应用. 选择[企业内部开发] 创建H5微应用 填写相关信息 企业内部H5微应用创建完成 2.接口开发前准备 开发前必读 了解不同应用所能支持的能力 ...
- 采用redis+ThreadLocal获取全局的登录用户信息(二)增加token快失效时刷新
在写token登录的时候,发现cookie中的token到时自动失效,如果此时有人正在操作,非常影响体验,于是增加了一个token快失效时刷新token的功能.下面代码重点就在TokenTool类中的 ...
- 采用redis+ThreadLocal获取全局的登录用户信息(一)
1.首先进行登录操作,代码已经假设你从数据库拿到了用户信息保存在变量userinfo中,将token返回给浏览器保存,并将token和userinfo保存在redis中. @Resourcepriva ...
- 获取微信昵称乱码php,Android 微信登录昵称乱码问题,及获取微信用户信息
微信第三方登录时昵称,username乱码问题解决方法如下: /** * 获取微信用户信息 * @param access_token 调用凭证 * @param openid 普通用户的标识,对当前 ...
- Spring学习笔记(二十三)——实现网站微信扫码登录获取微信用户信息Demo
目录 微信扫码登录介绍 开发步骤 微信扫码登录示例 微信开放文档 遇到的问题 使用第三方工具实现网站微信扫码登录 开发前介绍 开发步骤 微信扫码登录获取微信用户信息Demo实现流程 实现效果 实现过程 ...
- (详解)钉钉接口,PC端微应用,免登录及获取当前用户信息
1.用了两天的时间,一直在研究微应用的,免登录及获取用户信息这一块. 但是钉钉官网写的太繁杂了,看了一天,硬是没看明白,最后,硬着头皮,一点点查资料,借鉴别人的代码,终于 研究 出来了,为了防止 年轻 ...
- 使用uc_authcode 获取论坛当前登录用户信息
目的:使用uc_authcode 获取论坛当前登录用户信息 曲折:看了Discuz官方的ucenter二次开发手册,其中的Example如下: if(!empty($_COOKIE['Example_ ...
- 若依框架获取和修改当前登录用户信息
若依框架获取和修改当前登录用户信息 后台修改 前端修改 前言:做一些功能的时候我们肯定得用到当前登陆者信息,所以我就查找了一下若依怎么获取当前登录者信息,用this.$store.state.user ...
最新文章
- 博客搭建攻略(一):平台选择
- J0ker的CISSP之路:复习-Access Control(3)
- 探索 .NET团队对API的设计流程
- Override and Overload (重写和重载)
- 【Java】Java数据库访问体系重点总结
- OpenCV实战4: HOG+SVM实现行人检测
- 如何估算太坊交易的gas消耗量
- 6年软件测试,职场上的摸爬滚打,告诉我这些.......
- linux NVMe驱动总结
- 互联网名词和广告名词缩写大全
- DirectShow 视频采集
- 远程电脑不能复制粘贴
- 【数据库基础】正则化(Normalization)P1:UNF、1NF、2NF、3NF
- 中产移民:很难找到好工作。
- MT25QL128/MTQL256_FLASH驱动——基于华大单片机
- 宝尚网上股票-今年A股新股数量与融资额再创新高
- CSS (二) 背景
- 如何使用 Delta Lake 构建批流一体数据仓库
- Efficient multi-keyword ranked query over encrypted data in cloud computing (4)
- Maven Pom文件标签详解
热门文章
- blendshapes
- Registry Workshop —— 强大的注册表编辑工具
- 面试重点:starter原理以及自己动手实现一个starter
- [论文阅读] SASA: Semantics-Augmented Set Abstraction for Point-based 3D Object Detection
- 【仿写网站】用swiper实现故宫博物院首页轮播图
- 【C语言】怎么用C语言来解逻辑推理题 | 运用离散数学+形式逻辑学的思想
- html导航栏的颜色怎么改变,我怎样才能改变导航栏的背景颜色
- Java-通过IP地址获得域名和主机名
- 【Android】MyTool工具界面:秒表
- ValueError: Wrong number of items passed 2, placement implies 1