【问题标题】:Spring UserDetails and my User implementation in sessionSpring UserDetails 和我在会话中的用户实现
【发布时间】:2015-06-22 18:22:26
【问题描述】:

我在安全模型的支持下开发我的 Spring 应用程序。 我配置了一切,它似乎工作正常,但我有一个概念问题。 在我的控制器中,我可以像这样检索 Spring 生成的用户详细信息:

UserDetails userDetails = (UserDetails)SecurityContextHolder.getContext().getAuthentication().getPrincipal();

现在,我应该把这个用户放在 Http 会话中还是没用?

另外,我是否应该根据 UserDetails 对象检索我的用户实现并将其放入会话中?

什么是安全的正确思维方式?我需要我的用户实现来检索一些信息,但我不知道要保留两者。

【问题讨论】:

标签: spring spring-security


【解决方案1】:

http://docs.spring.io/spring-security/site/docs/3.0.x/reference/technical-overview.html#d4e731 在此停靠 5.3.1 中,您可以查看示例。

类似这样的:

    Authentication authentication = new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities());
    SecurityContextHolder.getContext().setAuthentication(authentication);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-20
    • 2016-04-27
    • 2019-08-22
    • 1970-01-01
    • 2012-03-11
    • 2019-08-06
    • 2020-10-14
    • 2014-09-06
    相关资源
    最近更新 更多