1.自定义认证前端页面

简介: 本文介绍如何在Spring Security中自定义认证前端页面。通过配置`SecurityConfig`类,实现自定义登录页(login.html)、登录接口、参数名及跳转逻辑,并禁用CSRF。启动后访问受保护资源将跳转至自定义登录页,输入正确凭证即可认证访问。

1.自定义认证前端页面
1-前端代码
login.html
(2 KB)
拷贝上述路径到下述位置,注意没有对应文件夹则需要手动创建
2-后端代码
1.定义接口
这里我们在原来的基础之上,继续追加一个即可,我就简单的添加一下哥哥的地址吧
2.创建配置类
Java
运行代码
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package com.yzxb.SpringSecurity.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {

@Override
protected void configure(HttpSecurity http) throws Exception {
    http.authorizeRequests()
            .anyRequest().authenticated().and().formLogin()
            .loginPage("/login.html")
            .loginProcessingUrl("/doLogin")
            .defaultSuccessUrl("/demo/index")
            .failureUrl("/login.html")
            .usernameParameter("uname")
            .passwordParameter("passwd")
            .permitAll()
            .and()
            .csrf().disable();
}

}
这个配置类非常重要,笔者带领大家单独解释一下。
(1)configure是一个链式配置,这里不用链式配置也可以,那就每一个属性设置后再http.重新开始写
(2)authenticated()表示开始权限配置,.anyRequest().authenticated()表示所有请求都需认证才可访问
(3)and()会返回HttpSecurityBuilder对象的一个子类(实际就是HttpSecurity),所以and方法相当于又回到HttpSecurity,重新开启新一轮的配置
(4)formLogin()表示开启表单登录配置,loginPage("")用来配置登录页面地址;loginProcessingUrl("")用来配置登录接口地址;defaultSuccessUrl("")用来表示登陆成功后的跳转地址;failureUrl("")表示登录失败后的跳转地址;usernameParameter、passwordParameter表示登录用户名、密码参数名称;permitAll()表示跟登录相关的接口和页面不做拦截,直接通过。
(5)csrf().disable()表示禁用CSRF防御功能,SpringSecurity自带CSRF机制,这里为了测试方便临时关闭。
3-启动验证
启动工程后访问地址:http://localhost:8080/demo/index
页面自动跳转至我们自己创建的登录页面,用户名:user,密码:参照idea控制台打印
输入用户名、密码后跳转返回我们的接口信息

相关文章
|
1天前
|
安全 前端开发 Java
1.RememberMe简介及用法
RememberMe是Web应用中保持用户登录状态的机制,避免重复登录。它通过服务端生成令牌(Token)存于Cookie实现,而非保存用户名密码。用户勾选“记住我”后,关闭浏览器再访问可自动登录。但令牌泄露可能带来安全风险,可通过持久化Token至数据库并增加二次校验提升安全性。
13 2
|
7天前
|
人工智能 供应链 算法
TsingtaoAI荣膺2025澳门首届DSA国际创新创业大赛奖项,RISC-V AI机器人引领行业新突破
2025澳门首届DSA国际创新创业大赛圆满落幕,TsingtaoAI凭借RISC-V AI协作机器人项目摘得优胜奖。该项目融合轻量设计与2.0TOPS算力,支持图形化编程与模块化扩展,已落地高校实验室并构建开源生态,获澳门专项孵化及产业链支持,助力中国芯赋能实体经济。(238字)
79 27
|
人工智能 Java 测试技术
代码采纳率如何提升至50%?AI 自动编写单元测试实践总结
借助Aone Copilot Agent,通过标准化Prompt指导AI生成单元测试代码,实现50%代码采纳率,显著提升测试效率与质量,推动团队智能化研发转型。
326 20
|
1月前
|
人工智能 并行计算 算法
为什么 OpenSearch 向量检索能提速 13 倍?
本文介绍在最新的 OpenSearch 实践中,引入 GPU 并行计算能力 与 NN-Descent 索引构建算法,成功将亿级数据规模下的向量索引构建速度提升至原来的 13 倍。
603 24
为什么 OpenSearch 向量检索能提速 13 倍?
|
9天前
|
人工智能 Java API
【Azure AI Search】如何通过Entra ID RBAC认证连接中国区 Azure AI Search
本文介绍如何在Java SDK中配置中国区AI Search资源访问。由于默认认证地址为全球环境(https://search.azure.com),在中国区需修改为https://search.azure.cn,并通过设置SearchAudience.AZURE_CHINA解决认证失败问题,确保资源正常获取。
99 18
|
8天前
|
弹性计算 容灾 Linux
阿里云服务器购买入口省钱链接:共3中方法,第一种更优惠
阿里云服务器购买有3种方式:活动机(38元/年起)、自定义配置和快速购买。活动机最优惠,适合追求性价比的用户;自定义灵活但复杂;快速购买适合新手。2025年最新流程已更新,助您轻松上云。
92 12
|
8天前
|
JavaScript 定位技术 API
Trilium Notes:构建个人知识库的开源神器
Trilium Notes 是一款开源、免费的个人知识管理系统,支持树状结构、笔记克隆、富文本与 Markdown、代码高亮、加密笔记、思维导图及 REST API。可本地部署,跨平台同步,助力构建“第二大脑”,适合学习、研发与创意写作。
145 8
 Trilium Notes:构建个人知识库的开源神器
|
1月前
|
人工智能 运维 监控
Flink 智能调优:从人工运维到自动化的实践之路
作者:黄睿 阿里云智能集团产品专家 本文基于阿里云 Flink 平台的实际实践经验整理,希望能为广大流计算从业者提供有价值的参考。
213 26
Flink 智能调优:从人工运维到自动化的实践之路
|
4天前
|
弹性计算 搜索推荐 应用服务中间件
阿里云服务器收费标准_云服务器ECS价格表_轻量优惠活动
阿里云服务器优惠汇总:轻量应用服务器200M带宽38元起/年,ECS云服务器2核2G 99元/年,2核4G 199元/年,4核16G 89元/月,8核32G 160元/月,香港轻量服务器25元/月起,支持按小时计费,新老用户同享,续费同价,限时秒杀低至1折。
112 18
|
5天前
|
人工智能 自然语言处理 搜索推荐
构建AI智能体:四十六、Codebuddy MCP 实践:用高德地图搭建旅游攻略系统
本文提出了一种基于MCP协议与高德地图API的智能旅游攻略系统,旨在解决传统旅游信息碎片化、时效性差等问题。系统通过整合多源数据,实现动态路线规划、个性化推荐等功能,支持自然语言交互和多模态展示。技术层面,MCP协议作为核心枢纽,标准化了工具调用和错误处理;高德地图API则提供地理智能、时空分析等能力。系统可生成包含景点、美食、住宿等信息的完整攻略,并支持临时发布共享。实践表明,该系统能有效降低用户规划成本,为旅游行业数字化转型提供参考。
92 13