【发布时间】:2015-06-22 18:22:26
【问题描述】:
我在安全模型的支持下开发我的 Spring 应用程序。 我配置了一切,它似乎工作正常,但我有一个概念问题。 在我的控制器中,我可以像这样检索 Spring 生成的用户详细信息:
UserDetails userDetails = (UserDetails)SecurityContextHolder.getContext().getAuthentication().getPrincipal();
现在,我应该把这个用户放在 Http 会话中还是没用?
另外,我是否应该根据 UserDetails 对象检索我的用户实现并将其放入会话中?
什么是安全的正确思维方式?我需要我的用户实现来检索一些信息,但我不知道要保留两者。
【问题讨论】:
-
相信Spring默认使用HttpSessionSecurityContextRepository,顾名思义就是使用HttpSession。