配置登录页面:
1. 修改security.xml中的form-login配置
<security:http> <security:intercept-url pattern="/**" access="ROLE_USER"/> <security:form-login login-page="/login.html" login-processing-url="/login" username-parameter="username" password-parameter="password" default-target-url="/index.html"/> <security:logout/> </security:http>
login-page : 配置系统登录页面
login-processing-url : 处理登录请求的url
username-parameter : 请求表单中用户名参数
password-parameter : 请求表单中密码参数
default-target-url : 登录成功后跳转的页面,默认是 “/”
authentication-success-handler-ref : 登录成功后的处理器,实现AuthenticationSuccessHandler这个接口,不要和default-target-url同时使用
2. 在webapp目录下面创建一个login.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> </head> <body> <h2>Customize Login Page</h2> <form action="/chapter2/login" method="post"> 用户名:<input type="text" name="username"><br> 密 码:<input type="password" name="password"><br> <input type="submit" value="登录"> <input type="reset" value="重置"> </form> </body> </html>
3.部署项目到服务器,访问:http://localhost/chapter2 自动跳转到登录页面
输入用户名密码,登录成功后
配置退出url:
修改security.xml中logout,代码如下:
<security:http> <security:intercept-url pattern="/**" access="ROLE_USER"/> <security:form-login login-page="/login.html" login-processing-url="/login" username-parameter="username" password-parameter="password" default-target-url="/index.html" always-use-default-target='true'/> <security:logout logout-url="/logout" logout-success-url="/logout.html" /> </security:http>
logout-url : 配置退出的url , 不配置默认是”/j_spring_security_logout”
logout-success-url : 退出成功后跳转的页面 , 不配做默认是登录页面
success-handler-ref : 退出成功后的处理器,实现LogoutSuccessHandler接口,不要和logout-success-url同时使用
相关推荐
在AWS云平台中,了解如何应用和配置Spring Security可以使得开发者能够构建出更加安全的系统和应用程序。 总体来说,文档内容涵盖了Spring Security的核心概念、配置方法、新特性和迁移指南,这些都是在应用程序中...
同时,我们配置了表单登录和退出登录的页面。 为了实现用户认证,我们还需要实现`UserDetailsService`接口,从数据源(如数据库)中加载用户信息。例如,如果使用JDBC,我们可以使用`JdbcUserDetailsManager`,或者...
它允许我们指定登录页面(login-processing-url)和登录表单(login-page)。例如,`<form-login login-processing-url="/j_spring_security_check" login-page="/login" />`表示提交登录信息到"/j_spring_security_...
虽然 Spring Security 默认使用了 `/logout` 作为退出处理请求路径,登录页面作为退出之后的跳转页面。但是,有的时候我们需要一些个性化设置,例如: * 通过指定 `logoutUrl` 配置改变退出请求的默认路径。 * 通过...
综上所述,实现Spring Security 3的多用户登录退出功能涉及到多个步骤,包括配置注销URL、处理登出请求、清理会话信息、防止CSRF攻击、定制登出后的行为以及支持单点登出。理解这些知识点有助于构建更安全、功能丰富...
**Spring Security**是一种广泛应用于Java企业级项目中的安全框架,它基于Spring AOP(面向切面编程)和Servlet过滤器来提供全面的安全解决方案。该框架能够在Web请求级别以及方法调用级别处理身份验证...
为了保护Web应用程序的资源,Spring Security可以通过配置URL模式来指定哪些资源需要认证和授权。例如,使用`<http>`元素定义安全约束,并使用`<intercept-url>`来指定URL模式及其相应的访问权限。 6. **附录** ...
5.3 Java配置和表单登录 34 5.4授权请求 35 5.5处理注销 36 5.5.1 LogoutHandler 37 5.5.2 LogoutSuccessHandler 37 5.5.3更多注销相关参考 38 5.6认证 38 5.6.1内存认证 38 5.6.2 JDBC认证 39 5.6.3 LDAP认证 39 ...
### Spring Security3 配置与使用详解 #### 一、Spring Security3 概览 Spring Security 是一个功能...无论是对于初学者还是有经验的开发人员来说,掌握 Spring Security3 的核心概念和配置技巧都是非常有价值的。
SpringBoot和SpringSecurity是Java开发领域中两个非常重要的框架,它们在构建现代Web应用程序时起着关键作用。SpringBoot简化了Spring应用的初始搭建以及开发过程,而SpringSecurity则为应用提供了全面的安全管理...
4. **登录页面**:自定义登录页面并配置`loginPage()`和`loginProcessingUrl()`,指定处理登录请求的URL。 5. **权限控制**:定义哪些URL需要保护,哪些角色可以访问这些URL。可以使用`authorizeRequests()`方法...
5. 登录配置:配置登录页面和登录失败处理器,以及退出登录的逻辑。 SpringMVC和MyBatis的集成则涉及以下内容: 1. 创建MyBatis的配置文件,定义数据源、事务管理器等。 2. 配置MyBatis的扫描路径,使Spring能够...
Spring Boot 和 Spring Security 整合实例详解 Spring Boot 是一个快速开发框架,它简化了 Spring 应用的初始搭建以及开发过程。而 Spring Security 是一个强大的安全框架,用于处理身份认证(Authentication)和...
整合认证第二版的步骤包括:创建自定义登录页面、配置 SpringSecurity 路径权限、连接数据库以存储用户信息,并实现认证逻辑。这通常涉及配置 `UserDetailsService` 和 `AuthenticationProvider`,以及可能的密码...
2. 注销功能:SpringSecurity允许用户安全地退出系统,清除所有与用户会话相关的数据。通过调用`SecurityContextHolder.clearContext()`方法,可以确保用户的所有安全上下文信息被清除,从而结束会话。 3. 权限限制...
本教程将深入探讨Spring Security的核心概念,并通过源代码分析来帮助你理解和实践这些概念。 1. **认证(Authentication)** 认证是验证用户身份的过程。在Spring Security中,用户通常通过用户名和密码登录。这...
- **XML配置**:传统上,SpringSecurity可以通过XML配置文件进行设置,但现在更推荐使用Java配置。 - **Java配置**:使用`@EnableWebSecurity`注解开启安全配置,然后通过`WebSecurityConfigurerAdapter`自定义...
5. **HttpSecurity**: 用于配置HTTP安全设置,如访问控制、登录页面、退出操作等。你可以通过`http.authorizeRequests()`来定义哪些URL需要什么级别的权限,以及未授权时的行为。 6. **AccessDecisionManager**: ...