## 实现获取当前登录用户的代码分析及解决方案
### 问题描述
小白在开发过程中遇到了一个问题,他想要获取当前登录用户的信息,但是当他使用以下代码时,
```java
User user = (User) SecurityUtils.getSubject().getPrincipal();
```
却报错了,错误信息为`java.lang.S`。他非常困惑,不知道如何解决这个问题。
###
原创
2023-09-05 12:43:36
1258阅读
shiro如何设置sessioon时间Shiro的Session接口有一个setTimeout()方法,登录后,可以用如下方式取得sessionSecurityUtils.getSubject().getSession().setTimeout(1800000);如果为负数代表永不超时SecurityUtils.getSubject().getSession().setTimeout(
转载
2023-11-20 09:00:13
93阅读
我们在平常使用Shrio进行身份认证时,经常通过获取Subject 对象中保存的Session、Principal等信息,来获取认证用户的信息,也就是说Shiro会把认证后的用户信息保存在Subject 中供程序使用 public static Subject getSubject()
{return SecurityUtils.getSubject();
} Subject
转载
2021-02-01 09:56:03
375阅读
2评论
1.获取当前的Subject,调用SecurityUtils.getSubject();2.测试当前的用户是否已被认
原创
精选
2023-01-11 10:23:16
134阅读
securityManager的配置当调用SecurityUtils.getSubject().login(token); 即subject的login 方法;默认会调用realm里面的doG
原创
2023-01-11 10:11:34
179阅读
今天登录的时候一直没有记录当前用户信息下来,执行security.getsubject()时结果
原创
2023-02-27 09:37:16
966阅读
AOP中获取HttpServletRequest信息 //获取当前登录人信息 //Subject subject = SecurityUtils.getSubject(); //SysUser user = (SysUser)subject.getPrincipal(); //获取RequestAttributes ...
原创
2021-07-13 11:41:05
1021阅读
继续上一篇文章的案例,第一次使用SecurityUtils.getSubject()来获取Subject时 Java代ll
转载
2022-12-16 17:00:10
926阅读
Shiro获取当前登录的用户信息,User是ream中登录时放进去的对象信息Useruser=(User)SecurityUtils.getSubject().getPrincipal();
原创
2018-11-30 11:30:29
10000+阅读
一般的登陆只需要校验账号和密码两个要素Subject subject = SecurityUtils.getSubject(); UsernamePasswordToken usernamePasswor
原创
2022-06-24 18:07:20
203阅读
How can I get the username/login name in Java?This is the code I have tried...try{
LoginContext lc = new LoginContext(appName,new TextCallbackHandler());
lc.login();
Subject subject = lc.getSubject();
转载
2023-07-13 11:01:59
46阅读
流程审核代码 目前还没具体懂先写上当前理解以免忘记private void inputVerifyStart(WarehosueMgr warehosueMgr){
//获取登录用户信息
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
//获取流
}
// 传过来的数据封装到token 用subject调用 逻辑交给shiro管理
@PostMapping(“/login”)
public String login(String username, String password, Model model){
Subject subject = SecurityUtils.getSubject();
UsernamePasswordToke
//shiro 获取登录的用户信息TUser user = (TUser)SecurityUtils.getSubject().getPrincipal();//前提是需要的在登录的认证的方法中存入已经登录的用户如下 代码如下 @Overrideprotected AuthenticationInf ...
转载
2021-10-31 14:26:00
1377阅读
2评论
使用过程中发现第一步要获取getSubject 第二部要loginlogin会调用SecurityManager来调取Realm,Realm来调取DB,此外还需要路由过滤器
原创
2022-08-01 15:26:42
21阅读
用javamail以来,一直被中文乱码困扰,虽然90%的邮件都正常,但是剩下10%的乱码确实让人心里疙疙瘩瘩。通过代码subject = MimeUtility.decodeText(mimeMessage.getSubject());subject = MimeUtility.decodeText
原创
2021-10-22 10:56:46
866阅读
Shiro支持三种方式的授权:编程式:通过写if/else授权代码块完成:Subject subject = SecurityUtils.getSubject(); if(subject.hasRole(“admin”)) { //有权限 } else { //无权限 } 注解式:通过在执行的Java方法上放置相应的注解完成:@RequiresR...
原创
2021-07-07 14:58:48
93阅读
Subject 实例交互。 基于角色授权角色检查)Subject 是否拥有一个角色,你可以在Subject 实例上调用hasRole方法。例如:Subject currentUser = SecurityUtils.getSubject();
if(currentUser.hasRole("administrator")) {
//show the admin but
转载
2023-05-09 14:58:32
56阅读
工作流程: 浏览器将用户名、密码、是否记住登录等信息发送给登录controller , new UsernamePasswordToken()获取token,将用户名、加密后的密码、rememberMe,set到token中。SecurityUtils.getSubject();获取subject对 ...
转载
2021-10-15 11:41:00
670阅读
2评论
一、 怎么用Shiro 支持三种方式的授权编程式:通过写 if/else 授权代码块完成:Subject subject = SecurityUtils.getSubject();
if(subject.hasRole(“admin”)) {
//有权限
} else {
//无权限
}注解式:通过在执行的 Java 方法上放置相应的注解完成:@RequiresRoles("admin"