1.自定义认证前端页面

简介: 本文介绍如何在Spring Security项目中自定义认证前端页面,包括login.html的创建与配置、前后端代码整合及SecurityConfig安全配置详解,实现表单登录验证并完成启动测试。

1.自定义认证前端页面

1-前端代码

login.html(2 KB)
拷贝上述路径到下述位置,注意没有对应文件夹则需要手动创建

D:LWORKLWORKSPACELMELSPRING25

SPRINGSECURITYAPPLICATION

CLASSE"ROWJUSTIFY

SPRINGSECURITY

DIVIDE"LOGIN-R

CHELLOCONTROLLE

DIVIDEMLOGIN-COLU

DIVIDE"LOGIN

HELLOCONTROLLERJAVA

COM.YZXB.SPRINGSECURITY

CSECURITYCONFIG

FORMID="1

H了CLA

</DIV>

=RESOURCES

<DIVCL

<DIVCL

LOGIN.HTML

OWEB

.IDEA

PROJECT

LOAIN.HTM

ACTIO

<IN

STATIC

CONFIG

MAN

CSE

34

37

<LA

35

28

26

36

SRC

30

31

JAVA

33

38

29

27


2-后端代码
1.定义接口
这里我们在原来的基础之上,继续追加一个即可,我就简单的添加一下哥哥的地址吧

Java

运行代码复制代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

package com.yzxb.SpringSecurity.web;


import org.springframework.web.bind.annotation.GetMapping;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;


@RestController

@RequestMapping("demo")

public class HelloController {


   @GetMapping

public String helloWorld() {

return "Hello Spring Security";

}


// 这个是新增的

   @RequestMapping("/index")

public String index(){

return "油炸小波,欢迎加入IKUN大家庭";

}

}


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控制台打印

OST:8080/LOGIN.HTM

登录

用户名:

密码:

登录

相关文章
|
8月前
|
消息中间件 运维 物联网
语音通知
语音通知服务适用于科技公司服务器或物联网设备异常时的告警通知。通过语音电话形式,向处理人播报预设模板内容,支持变量替换实现个性化提醒。需开通语音服务并申请资质、话术、号码及模板,可通过API发起呼叫并查询记录,支持主动查询与消息回执两种结果获取方式,提升运维响应效率。
语音通知
|
8月前
|
JSON 安全 机器人
钉钉通知
本文介绍如何通过Java代码调用钉钉机器人API实现系统告警消息推送。内容涵盖机器人创建、Webhook配置、Postman测试及Java代码实现,并提供限流策略与关键词安全设置等最佳实践,助力实时监控与异常通知。
|
8月前
|
数据采集 领域建模 数据库
领域模型图(数据架构/ER图)
本文介绍如何通过四色原型法构建领域模型,并逐步推导出数据架构中的ER图。采用红色(时标性)、绿色(参与方-物品-地点)、黄色(角色)和蓝色(描述)四色模型,结合风控系统案例,详解从业务流程到实体关系图的建模过程,助力精准梳理数据结构。
 领域模型图(数据架构/ER图)
|
8月前
|
安全 Java 应用服务中间件
4.认识SpringSecurity
Spring Security 是 Spring 生态中的安全框架,提供认证、授权及安全防护功能。支持多种认证方式(如表单、OAuth2、JWT等),基于过滤器链实现请求控制,可防御 CSRF 等攻击,保障 Web 应用安全。
|
8月前
|
存储 安全 前端开发
1.RememberMe简介及用法
RememberMe是一种保持用户登录状态的机制,通过Cookie实现关闭浏览器后仍可自动登录,避免重复认证。其原理是在用户首次登录并勾选“记住我”后,服务端生成Token并存储于Cookie,后续请求自动携带该Token进行校验,提升用户体验同时需注意安全风险。
|
8月前
|
XML Java Maven
3. 打包
本文介绍Java项目打包为可执行JAR文件的流程,包括配置文件处理、Maven打包步骤、运行与停止指令。支持前台/后台运行,并提供分离依赖与配置的打包参考方案。
3. 打包
|
8月前
|
监控 Java 测试技术
生产环境发布管理
本文介绍大型团队中生产环境的发布管理流程,涵盖从开发到生产的多环境部署策略(DEV→TEST→PRE→PROD),结合自动化CI/CD平台实现分支管理、一键发布与回滚。通过图文详解环境隔离、Jenkins+Docker自动化构建部署、Skywalking日志链路追踪等实践,提升发布效率与系统稳定性。
|
8月前
|
安全 Java 开发者
2.过滤器链加载原理
本文深入解析Spring Security过滤器链的加载原理,通过分析DelegatingFilterProxy、FilterChainProxy及SecurityFilterChain源码,揭示十五个过滤器如何自动装配并生效,帮助开发者理解框架底层机制,为自定义认证流程奠定基础。
 2.过滤器链加载原理
|
8月前
|
存储 安全 前端开发
1.认识OAuth2.0
OAuth2.0是一种开放授权标准,允许第三方应用在用户授权下安全访问资源,无需获取用户账号密码。文中介绍了其四大授权模式:授权码模式(最安全,适用于Web应用)、简化模式(适用于前端单页应用)、密码模式(需高度信任)和客户端模式(服务间调用)。通过案例解析,说明OAuth2.0如何实现服务间资源共享与单点登录,提升系统安全性与用户体验。
1.认识OAuth2.0
|
8月前
|
JSON 安全 Java
2.OAuth2.0实战案例
本文详细演示了OAuth2.0四种授权模式的实战应用,涵盖资源与授权服务搭建、配置及测试流程。通过具体案例展示授权码、简化、密码和客户端模式的实现步骤,并结合Spring Security完成认证授权,最终成功获取token并访问受保护资源。

热门文章

最新文章