我花了大约一整天的时间试图获得一个非常基本的Spring Boot应用程序,并且Spring安全性正常并且无法运行。我找不到运行它时有效的代码示例。
This示例来自spring.io。以下是我在该示例中看到的内容:
我已尝试通过@EnableWebSecurity进行调试(debug = true),但没有错误。
以上经验是我在下载每个示例时所体验到的特有情况。不可否认,我是Spring的新手,可能是因为我犯了一些新手配置错误。任何帮助将不胜感激。
答案 0 :(得分:0)
我下载了代码并使用maven运行,它运行得非常好。登录后,对于http://localhost:8080/hello
的所有后续页面加载,加载页面而不是再次登录页面,除非我当然注销。您提到的问题可能是由于(因为您已经提到它的特有情况而极有可能)导致您的浏览器可能在传输默认的JSESSIONID cookie(在第一页访问和更新时设置)时遇到问题(作为Spring安全性的良好安全实践,在第一次登录时。对于后续访问,同样的JSESSIONID被发送到服务器,它是存储在服务器上的会话对象的密钥,该服务器包含现在经过身份验证/授权的用户。如果有的话,这个cookie不是这样的传回服务器(一个原因可能是它在浏览器设置中被禁用)然后你的应用程序(受Spring安全保护)不知道你是一个已经过身份验证的用户,并会再次显示登录页面。例如,对于Chrome,您可以在设置 - >内容设置 - > Cookie - >允许网站保存和读取Cookie数据(推荐)中查看Cookie设置。您还可以查看每个页面加载时传递的Cookie标头帖子在相应的浏览器中使用开发人员工具进行成功登录。