当前位置: 首页 > 面试题库 >

使用Spring在会话中设置用户对象

袁弘方
2023-03-14
问题内容

我想将User包含用户详细信息的对象设置为我的Spring应用程序中的会话。

当我想在各个JSP页面上检索登录用户的详细信息时,我想使用该会话对象。

我正在使用Spring 3和Spring Security 3

我想在不是控制器的自定义身份验证类中的会话中设置User对象

我该如何实现?


问题答案:

我假设您有 一些UserDetailsService类的实现。您可以返回从User实现的任何对象。然后,该对象会自动放置在您的HTTP会话中。然后可以使用以下方法检索它:UserDetailsloadUserByUsername()

User user = (User)SecurityContextHolder.
    getContext().getAuthentication().getPrincipal();

Spring Security自动处理您需要的一切。



 类似资料:
  • 问题内容: 我有一个spring / jdbc / oracle 10g应用程序。Oracle服务器数据库时区设置为GMT + 2 JVM时区设置为GMT + 2(即使对于我而言这无关紧要)。 我有一个执行某些日期操作的存储过程。问题是,即使我未在代码/配置中明确设置会话时区,会话时区也不同于数据库时区(GMT)。 据我所知,会话时区默认情况下等于数据库时区。知道为什么会话时区与数据库时区不同,或

  • 问题内容: 是否可以使用Javascript设置PHP会话变量? 问题答案: 在JavaScript中: 在session_write.php文件中: 在HTML中:

  • 问题内容: 我正在使用Spring Security 3.0向LDAP服务器进行身份验证,但无法确定自己的会话超时时间。我相信默认值为30分钟,但我需要将其设置为更长的时间 问题答案: 您可以在web.xml中为所有会话设置会话超时(例如60分钟): 或按会话使用 后者您可能要在authorizationSuccessHandler中进行。

  • 问题内容: 我将JSF 2用于视图,将Spring用于业务逻辑。我正在尝试使用注解(@Scope(“ session”))将会话范围设置为我的一个Spring bean,但是却遇到了这个异常: 我知道RequestContextListener。在我的web.xml中。我还添加了RequestContextFilter: 似乎没有任何作用。我究竟做错了什么?谢谢! 问题答案: 尝试使用aop:sc

  • 但这并不能解决问题。 如何向请求添加会话cookie?

  • 帮助将cookie设置为HttpClient 创建了一个登录到外部web服务的程序。但是,要从HTTP GET获取重要信息,我无法传入cookie(从登录生成)。 app.java(使用ClientHelper的类): 当我运行应用程序时,我可以登录(我看到生成的JSON),但是getProfile()方法返回一个空的JSON对象: 在命令行中,我试图使用curl来模拟以下情况:

  • 我有一个Spring MVC Web应用程序,用户可以在该应用程序上登录和注册帐户。一旦用户登录并且用户注销会话结束,我将尝试保留会话。 实现这一点的最佳方式是什么? 以下是我的登录控制器。

  • 我正在尝试将spring boot配置为使用mongoDB存储用户和会话。我可以将用户和会话存储在不同的项目中,但当我将它们存储在同一个项目中时,SessionRepositoryFilter的Autowired将失败。 这里的错误是: 谢谢;)