当前的用户信息这样拿:
先定义一个局部线程变量里,
然后在登录后将用户保存到该变量里面,
这样就可以在你的当前spring容器中可以拿了
代码大致如下:
/**
*用户信息对象
*/
public class AuthUserVO {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public AuthUserVO(){
}
public AuthUserVO(String username, String password){
this.username=username;
this.password=password;
}
}
/**
*对用户信息进行取或设置
*/
public class AuthCurrentUser {
/**
* 声明局部线程变量
*/
private static ThreadLocal<AuthUserVO> currentUser = new ThreadLocal<AuthUserVO>();
/**
* 获取当前用户喜讯你对象
* @return 当前用户喜讯你对象,IUserInfoVO类型
*/
public static AuthUserVO get() {
return (AuthUserVO) currentUser.get();
}
/**
* 设置当前用户喜讯你对象
* @param user 用户值对象
*/
public static void set(AuthUserVO user) {
currentUser.set(user);
}
}
在你的登录action里:
AuthCurrentUser.set((AuthUserVO) request.getSession().getAttribute(
SessionScope.SESSION_FLAG_USERINFO));
在你所需要想拿用户的时候:
AuthUserVO accountdo = (AuthUserVO) AuthCurrentUser.get();
因为用户登录的线程与你已初始化的spring不在同一个容器里面,所以通过线程变量去传
分享到:
相关推荐
在IT行业中,Spring框架与Hibernate框架的整合是常见的企业级应用开发模式,特别是在Java领域。SSH,即Struts、Spring和Hibernate,曾是流行的一种Java Web开发栈。本篇文章将详细探讨如何通过Spring整合Hibernate来...
在Spring 3框架中,SLF4J(Simple Logging Facade for Java)是一个重要的日志抽象层,它允许用户在不修改代码的情况下切换不同的日志实现。SLF4J提供了一个统一的API,使得开发人员可以方便地在各种日志框架(如Log...
// 更改用户信息... userRepository.updateUserProfile(user); } } ``` 在这个例子中,`createUser`方法内部调用了`updateUserProfile`,由于`updateUserProfile`被标记为`REQUIRES_NEW`,所以它将在一个新的独立...
Struts2、Spring和iBatis是Java Web开发中常用的三个框架,它们分别负责MVC模式中的Action层、业务逻辑层以及数据访问层。在这个"struts2+spring+ibatis 实现分页"的项目中,我们将探讨如何将这三个框架整合起来,...
在快递代取系统中,Redis的主要作用是缓存频繁访问的数据,如用户信息、快递状态等,以减少对数据库的直接访问,提高系统响应速度。Redis支持多种数据结构,如字符串、哈希、列表、集合和有序集合,这使得它能灵活地...
在Spring Boot应用中,多数据源的实现是一个常见的需求,特别是在大型系统中,可能需要连接到不同的数据库以满足不同业务场景的需求。以下是对标题和描述中提到的四种多数据源实现方式的详细解释: 1. **原始方式...
这样做的结果是,当前用户的旧session将被立即销毁,而新的session将被创建。 对于未登录的用户访问特定目录时的处理,文章中提到了background目录。在这个目录下的页面访问之前,拦截器会检查session中是否包含...
对于前端界面,虽然当前的文件名称列表中没有提及,但一个完整的图书管理系统通常包括一个用户友好的界面。这可能使用HTML、CSS和JavaScript技术开发,以及可能使用Vue.js、React.js或Angular等流行的前端框架来构建...
要实现多次登录失败账户锁定的功能,我们需要先回顾一下基础知识:Spring Security 不需要我们自己实现登录验证逻辑,而是将用户、角色、权限信息以实现 UserDetails 和 UserDetailsService 接口的方式告知 Spring ...
高校中的快递代取问题常常困扰学生和教职工,快递代取系统的设计不仅解决了这一问题,还提高了校园内部信息管理系统的科技含量和实用性,展现了信息化管理在教育领域的应用潜力。通过这个系统,用户可以更直观地感受...
该毕业设计使用了当前较为流行的spring boot,spring,spring mvc,mybatis,shiro框架分页处理使用了pagehelper进行...该系统主要解决了理财中的一些问题,包含功能:权限管理,用户信息管理,理财产品管理等内容。
在SpringBoot应用中,接口访问频率限制是一种常见的安全策略,用于防止恶意用户或者自动化脚本对服务进行频繁的、超出正常范围的访问,这可能导致服务器过载甚至崩溃。本篇我们将深入探讨如何在SpringBoot中实现接口...
数据库设计涉及用户信息、订单信息、快递信息、代取员信息等多个表,需要合理规划表结构,确保数据的一致性和完整性。 8. 安全性考虑 系统应确保用户信息安全,对敏感信息如密码、支付信息进行加密处理,同时采用...
5. **客户条子**:客户取到号码后,系统会打印出一张条子,上面包含号码信息。这部分可能涉及到Java的打印API,如PrintService API,以及可能需要的条码或二维码生成库。 6. **安全性与并发处理**:由于涉及银行...
7. **axon-configurer**:Spring Boot Axon starter会自动配置AxonConfigurer,这样开发者就可以在Spring Boot的配置类中轻松定制Axon的行为。 8. **事件处理器类型**:包括订阅处理器(Subscription Event ...
说当前版本因为原来使用find方法是从代理中取.而spring默认的数据持久话只能包含业务层和数据层.不能包含界面层.所以用find方法会导致session失效.故用get方法.现在这个问题已经解决.其实就是把原web.xml中的最后的...
这个系统可以让用户通过Web界面进行操作,适用于各种在线服务环境,比如银行的网上营业厅,提供客户在虚拟环境中获取服务号码的功能。 【描述】中提到的“网络版udp实现银行取号器”揭示了该系统采用UDP(User ...
- `&`:按位与运算或条件表达式中的短路与运算(取决于上下文)。 - `&&`:逻辑与运算,短路运算符,如果左边为假,则右边不会执行。 ##### 9. 内存模型 - **栈**:存放局部变量和方法调用信息,生命周期随方法调用...