当前位置: 首页 > 知识库问答 >
问题:

Spring记住匿名用户

程修雅
2023-03-14

我们使用的是带有Spring Security性的Spring MVC。

  • 网站应可供匿名用户使用,包括首选项设置(例如打开或关闭页面上的筛选器)。
  • 如果匿名用户在第二天返回(在新会话中),应记住这些首选项。
  • 匿名用户可以随时选择注册配置文件(用户/密码组合),以前匿名用户设置的所有首选项都应存储在新的配置文件中。
  • 或者,匿名用户可以选择使用已注册的配置文件登录,并且应该向他们提供将匿名设置的首选项存储到其配置文件中的选项。
  • 注册用户可以登录到该页面,并且应该记住他们的登录。

我可以通过使用Spring Security Remember Me跨会话持久化登录用户,并且可以通过手动设置cookie跨会话持久化匿名用户。

对于这个场景,什么是更优雅的解决方案(最好使用Spring Security)?是否可以为匿名用户使用Spring Security记住我功能?

共有1个答案

阎咏思
2023-03-14

考虑对匿名用户使用remement-me身份验证实际上没有意义。Remember-me要求用户实际存在,根据定义,它将他们作为个人进行身份验证。听起来您只是想创建一个包含用户设置的cookie,这与安全性并不相关。你应该在你的应用程序中自己做。对我来说,这似乎是最明显的解决办法。

一旦用户注册,您就可以使用Remement-Me和他们的帐户,但是如何编写创建新用户配置文件的逻辑取决于您,使用当前cookie中的设置将是该过程的一部分。

 类似资料:
  • 我正在和Spring Boot一起开发一个集成了LDAP的应用程序。我能够成功地连接到LDAP服务器并验证用户。现在,我需要添加“记住我”功能。我试图通过不同的职位(这),但无法找到我的问题的答案。官方的Spring安全文件指出 如果您正在使用不使用UserDetailsService的身份验证提供程序(例如,LDAP提供程序),那么它将不起作用,除非您的应用程序上下文中也有UserDetails

  • 这是我的安全配置 问题是,当我从/导航到受保护的URL时,不会调用CustomRequestCache,因此在登录后,SavedRequestStawareAuthenticationSuccessHandler不会重定向到请求的页面。 我认为这是因为permitAll创建了一个匿名用户。 我如何配置Spring Security才能使SavedRequestAwareAuthentication

  • 应用程序类: application.yml:

  • 8.2 节实现的登录系统自成一体且功能完整,不过大多数网站还会提供一种功能——用户关闭浏览器后仍能记住用户的会话。本节,我们首先实现自动记住用户会话的功能,只有用户明确退出后会话才会失效。8.4.5 节实现另一种常用方式:提供一个“记住我”复选框,让用户选择是否记住会话。这两种方式都很专业,GitHub 和 Bitbucket 等网站使用第一种,Facebook 和 Twitter 等网站使用第二

  • 我的所作所为 首先,我承认我缺乏Spring安全知识。 我可以接收access_token、refresh_token等等,一切都非常好,甚至我可以使用接收的access_token访问url http://localhost:8282/melayer/articles (二)。curl http://localhost:8282/melayer/articles-h“授权:携带者 我想了解的是