// 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;}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)