【发布时间】:2017-11-07 02:49:17
【问题描述】:
我的项目是一个 springboot 应用程序,具有基本的 crud 功能,其登录页面仅使用 HTML 和 CSS。如何为登录和注销添加会话
【问题讨论】:
-
你为什么不使用 spring security 呢?
标签: java session spring-boot
我的项目是一个 springboot 应用程序,具有基本的 crud 功能,其登录页面仅使用 HTML 和 CSS。如何为登录和注销添加会话
【问题讨论】:
标签: java session spring-boot
正如其他人所建议的,您可以使用 Spring 安全性。或者,如果您不想处理 Spring Security 的复杂性,您可以在控制器的处理程序方法的参数中获取 HttpSession 对象。用户登录后,您可以使用HttpSession.setAttribute("name you want to refer to", actual value or object) 在该会话中设置值或对象。当用户按下注销时,您可以使用HttpSession.invalidate(); 完成会话。
【讨论】:
最好的解决方案是使用 Spring Security。 看看这个:https://spring.io/guides/gs/securing-web/。
【讨论】:
推荐使用Spring Security。
如果你在谷歌搜索“spring security tutorial”,你可以找到很多例子。
例如,它是 Angular js (1.x) 的官方教程 https://spring.io/guides/tutorials/spring-security-and-angular-js/
如果您不想使用 Spring Security,则必须创建一个 http 会话并将登录的用户数据存储在 http 会话中。
在 spring 中,您可以将 HttpSession 注入到您的 bean 中,您可以添加会话属性,或者您可以创建会话范围的 bean。
【讨论】:
spring web securitysee link here和here简易教程
【讨论】:
Spring Security 是身份验证和授权的最佳选择。对于登录,如果新用户登录,那么您需要为特定用户维护会话,直到注销。您可以使用 Spring 安全会话管理。
http://www.baeldung.com/spring-security-session
您可以在 http.setAttribute("USER_DETAILS", userDetails); 中设置 UserDetails 对象
(userDetails 是内置类中的 UserDetails 的对象)
你可以像 httpSession.getAttribute("USER_DETAILS"); 这样使用这个 httpSession 对象。用于进一步操作。对于注销使用可以使用 httpSession.invalidate() 方法。
【讨论】: