只是一个比较简单的通过数据库来控制免登录,非常简单。
1.建立一张用于存放登录信息的表(persistent_logins)
CREATE TABLE `persistent_logins` (
`USERNAME` varchar(32) NOT NULL,
`SERIES` varchar(64) NOT NULL,
`TOKEN` varchar(64) NOT NULL,
`LAST_USED` datetime NOT NULL,
PRIMARY KEY (`SERIES`)
) ENGINE=ndbcluster DEFAULT CHARSET=utf8;
2.登录页面添加记录登录的checkbox
<form action="/j_spring_security_check" method="post">
用户名:<input type="text" name="j_username" value="${sessionScope['SPRING_SECURITY_LAST_USERNAME']}"/><br/>
密码:<input type="password" name="j_password"/><br/>
<input id="remember" name="_spring_security_remember_me" value="true" type="checkbox" /><br/>
<input type="submit" value="提交"/>
</form>
3.spring security配置文件添加数据库remember me配置
<http auto-config='true'>
<logout logout-success-url="/common/logout-success.jsp"
logout-url="/j_spring_security_logout" invalidate-session="true"/>
<!-- 尝试访问没有权限的页面时跳转的页面 -->
<access-denied-handler error-page="/common/403.jsp"/>
<form-login login-page="/pages/portal/login.jsp"
authentication-failure-url="/pages/portal/login.jsp?error=true"
default-target-url="/index.jsp" />
<!-- 配置数据源,然后添加此配置 -->
<remember-me data-source-ref="dataSource" />
<custom-filter ref="jdbcFilterSecurityInterceptor" before="FILTER_SECURITY_INTERCEPTOR"/>
</http>
弄完,收工!
分享到:
相关推荐
"Spring Security 构建 REST 服务实现 RememberMe 记住我功能" Spring Security 是一个功能强大且灵活的安全框架,广泛应用于 Java Web 应用程序中。在本文中,我们将介绍如何使用 Spring Security 构建 REST 服务...
这一部分的知识点涵盖了Spring Security中Remember me的功能,用户身份持久化,以及如何通过SSL实现数据传输的安全加密。 1. Remember me服务:Remember me是Spring Security提供的一种功能,允许用户在一段时间内...
综上所述,实现Spring Security 3中的多用户登录和基于持久化存储的自动登录涉及了用户认证、授权、数据库集成、Remember-Me服务配置和安全实践等多个方面。理解并熟练掌握这些知识点,对于构建安全、可扩展的Web...
.rememberMe() .userDetailsService(myUserDetailServiceImpl) .tokenRepository(persistentTokenRepository()) .tokenValiditySeconds(60 * 60) .and() .authorizeRequests() .antMatchers(SecurityConst....
Spring Security 退出功能实现的正确方式 Spring Security 框架提供了强大的安全功能,其中退出功能是非常重要的一部分。本文将介绍如何正确地实现 Spring Security 退出功能。 一、logout 最简及最佳实践 使用 ...
.rememberMe().rememberMeServices(rememberMeServices()) .key("key") // 同上面的key .rememberMeParameter("remember-me") // 前端提交的参数名 .tokenRepository(persistentTokenRepository()) ....
- **Remember-Me 认证**:支持“记住我”功能,以便用户无需每次都输入凭证即可访问受保护的资源。 - **添加 HTTP/HTTPS 信道安全**:通过 `<https>` 元素来配置 HTTPS 支持,确保数据传输的安全性。 - **会话管理**...
这三份资料——"实战Spring Security 3.x.pdf"、"Spring Security 3.pdf" 和 "Spring Security使用手册.pdf" 将深入探讨这些概念,并提供实践指导,帮助读者掌握如何在实际项目中应用Spring Security。通过学习这些...
- **Remember-me功能**:自动记住用户的登录状态,用户再次访问时无需重复登录,但需考虑其安全性。 - **修改密码管理**:提供修改密码的功能,同时确保密码的存储和传输安全。 #### 四、凭证安全存储 - **使用...
在Spring Security 3中,你可以看到如何配置和使用Remember-Me服务,以便为用户提供更加便捷的登录体验。 7. **集成其他Spring组件**:Spring Security 可以与Spring MVC、Spring Data等其他Spring组件无缝集成。...
Spring Security3是Spring框架中的一个模块,它提供了全面的安全服务,旨在为Web和非Web应用程序提供访问控制、认证、授权等功能。Spring Security3通过其强大的配置能力和丰富的特性,帮助开发者构建安全的应用程序...
Spring Security提供了“Remember Me”服务,允许用户在一段时间内无需重新登录。这涉及到对用户的持久化认证,可以通过`PersistentTokenRepository`来存储和验证令牌。 6. **安全配置**: 在Spring Security的...
spring security 记住我功能实现,包含前端代码,传统web开发,前后端分离实战,里面包含两个项目,一个是传统的web一个是前后端分离项目,用来入门以及实战都是很好的
主要介绍了SpringSecurity rememberme功能实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
登录功能是Spring Security的基础,它提供了默认的登录页面和处理机制。你可以通过配置HttpSecurity来定制登录过程,例如设置登录URL、失败URL和成功处理器。Spring Security支持基于表单的身份验证,也支持OAuth2和...
- 配置和使用RememberMe服务以实现自动登录功能。 - 实现CSRF防护,理解CSRFTokenRepository的工作原理。 - 学习如何集成Spring Security与OAuth2,为API提供授权服务。 - 了解如何使用JWT进行状态管理,包括生成和...
Spring Security的`rememberMe`功能通过使用持久化令牌方案,实现了安全的自动登录,保护了用户的登录状态,同时也防止了多设备同时登录的问题。理解和配置这一功能对于提升应用的安全性和用户体验至关重要。正确...
本资源包含Spring Security 3的官方文档中文版、权限管理手册中文版以及相关的教程,对于学习和理解Spring Security 3的功能和用法非常有帮助。 首先,让我们深入了解一下Spring Security的核心概念: 1. **身份...
在本文中,我们将深入探讨如何使用Spring Boot、Spring Security和Thymeleaf这三个强大的Java技术栈组件来实现一个全面的权限管理系统,同时涵盖Remember-Me功能。Spring Boot简化了Spring应用的开发,Spring ...
- **Remember Me Services**:允许用户选择在一段时间内保持登录状态。 3. **权限控制**: - **Role-Based Access Control (RBAC)**:基于角色的访问控制,通过分配角色给用户来定义其权限。 - **Expression-...