如何在spring获得会话对象?

如何在spring获得会话对象?,第1张

如何在spring获得会话对象
// example usagepublic static HttpSession session() {    ServletRequestAttributes attr = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();    return attr.getRequest().getSession(true); // true == allow create}

这将由标准的spring mvc派发servlet填充,但是,如果你使用的是不同的Web框架,则需要

org.springframework.web.filter.RequestContextFilter
在你
web.xml
的管理器中添加过滤器。

编辑:作为附带问题,你实际上要做什么,我不确定你是否需要访问

HttpSession
retieveUser
方法
UserDetailsService
。Spring安全性将以任何方式将UserDetails对象放入会话中。可以通过访问来检索它
SecurityContextHolder

public static UserDetails currentUserDetails(){    SecurityContext securityContext = SecurityContextHolder.getContext();    Authentication authentication = securityContext.getAuthentication();    if (authentication != null) {        Object principal = authentication.getPrincipal();        return principal instanceof UserDetails ? (UserDetails) principal : null;    }    return null;}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5009061.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存