千家信息网

Spring security中怎么自定义登录页面

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章将为大家详细讲解有关Spring security中怎么自定义登录页面,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。实现步骤1. 复制上一示例
千家信息网最后更新 2026年11月03日Spring security中怎么自定义登录页面

这篇文章将为大家详细讲解有关Spring security中怎么自定义登录页面,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

实现步骤

1. 复制上一示例的源码

重命名包名 case2 为 case3

重命名 Case2Application.java 为 Case3Application.java

2. 在 WebSecurityConfig 中配置登录页

在 config(HttpSecurity http) 方法中对 formLogin 选项进行配置。需要包含以下设置:

  • 放行自定义登录页 url,例如: /login.html;

  • 设置登录跳转页 url, 例如: /login.html;

  • 禁用 csrf 保护。如不添加此项,则需要每次从 cookie 中获取 csrftoken 的值并随表单一同提交到服务端。

完整代码如下:

package net.txt100.learn.springsecurity.base.case3.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.security.config.annotation.web.builders.HttpSecurity;import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;import org.springframework.security.crypto.password.PasswordEncoder;import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;/** * Title: WebSecurityConfig * Package: net.txt100.learn.springsecurity.base.case3.config * Creation date: 2019-08-11 * Description: * * @author Tonglei * @since 1.0 */@Configurationpublic class WebSecurityConfig extends WebSecurityConfigurerAdapter {    @Bean    public PasswordEncoder passwordEncoder() {        // 配置密码的保护策略,spring security 默认使用 bcrypt 加密算法。        // 此处只要显式声明 BCryptPasswordEncoder Bean 即可        return new BCryptPasswordEncoder();    }    @Override    protected void configure(HttpSecurity http) throws Exception {        UsernamePasswordAuthenticationFilter up;        http            .csrf().disable() // 关闭 CSRF 保护功能,否则不支持 Post 请求            .authorizeRequests() // 针对 HttpServletRequest 进行安全配置                .antMatchers("/login.html").permitAll() // login.html 页面无需登录即可访问                .anyRequest().authenticated() // 对所有 Request 均需安全认证            .and().formLogin()                .loginPage("/login.html") // 每当需要登录时浏览器跳转到 login.html 页面                .loginProcessingUrl("/login") // 自定义登录提交地址,默认地址是 /login, 默认处理器是 UsernamePasswordAuthenticationFilter//                 .usernameParameter("/phone_number") // 自定义登录用户ID参数,默认是 username//                 .passwordParameter("/check_code") // 自定义登录口令参数,默认是 password            .and().httpBasic(); // 定义如何验证用户,此项代表弹出浏览器认证窗口    }}

3. 创建 login.html 页面

新建目录 src/main/webapp,并在该目录下创建文件 login.html。需要至少包含:

  • form 标签,并且 action 赋值为 WebSecurityConfig 中 loginProcessingUrl 配置地址 (默认: "/login");

  • 用户名参数,与 WebSecurityConfig 中 usernameParameter 配置一致(默认:"username");

  • 密码参数,与 WebSecurityConfig 中 passwordParameter 配置一致(默认:"password")。

关于Spring security中怎么自定义登录页面就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

登录 配置 页面 参数 地址 用户 保护 一致 安全 内容 密码 文章 更多 浏览器 目录 知识 篇文章 浏览 认证 不错 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技园 百单网互联网科技有限公司 南京欣网互联网络科技有限公司 上海挚品互联网科技 互联网 科技创业 丰台科技园 互联网 互联网科技论坛 互联网科技宣传片 互联网金融科技委员会 互联网科技公司做什么 互联网科技公司招聘 深圳前海聚择互联网科技有限公司 广州慧亚互联网科技怎么样 花神(南京)互联网科技有限公司 哈尔滨屹滨互联网科技有限公司 互联网营销推广黑科技 互联网与数字科技关系 全球科技与互联网公司市值变化 三亚科技创新互联网基地 保山浩联互联网科技有限公司 科技创新与互联网经济 北京互联网科技 善班互联网科技 宁波青枫互联网科技有限公司 以后互联网后是啥科技 上海宁丞科技互联网 未来五年的互联网科技 西安小鹰速贷互联网科技有限公司 长沙茂晟互联网科技有限公司 宇信科技在杭州互联网排第几
0