1.自定义认证前端页面

简介: ascascasc

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.定义接口
这里我们在原来的基础之上,继续追加一个即可,我就简单的添加一下哥哥的地址吧
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

登录

用户名:

密码:

登录


输入用户名、密码后跳转返回我们的接口信息

油炸小波,欢迎加入KU大家庭

LOCALHOST:8080/DEMO/INDEX

LOCALHOST:8080/DEMO/INDEX

X


若有收获,就点个赞吧

油炸

相关文章
|
2月前
|
缓存 算法 Java
线程池
231241241251251
|
2月前
|
Java 应用服务中间件 网络安全
Eclipse运行SSM/SSH项目教程
本文介绍了基于Eclipse开发环境的Java Web项目运行全流程,涵盖JDK、Tomcat、Maven等基础软件配置,详细演示了项目导入、服务器绑定、部署启动等步骤,并以图书馆管理系统为例,展示SSM框架项目的实际运行效果,同时列出常见错误及解决方案,助力开发者快速搭建与调试Java Web应用。
|
2月前
|
运维 Kubernetes Java
物理部署图
物理部署图描述系统运行时的硬件配置与软件部署结构,展现节点、构件、物件及连接关系,帮助理解分布式系统的网络架构,是实现软硬件协同运行的重要视图。
|
2月前
|
数据采集 领域建模 数据库
领域模型图(数据架构/ER图)
本文介绍如何通过四色原型法构建数据架构中的ER图。基于风控系统案例,依次解析领域建模的四个步骤:识别时标性原型(MI)、补充参与方-地点-物品原型(PPT)、添加角色原型(Role)和描述原型(DESC),最终提炼出实体关系图(ER图),实现从业务流程到数据模型的转化。
|
2月前
|
运维 安全 Devops
生产环境缺陷管理
针对大型团队中多分支开发导致的bug管理难题,本文介绍基于go-git实现的通用化工具git-poison。通过“投毒-解毒-银针”机制,实现bug的自动化追溯与发布卡点,有效避免漏修复、漏发布等问题,降低协同成本,提升发布安全与效率。
生产环境缺陷管理
|
2月前
|
JSON Java fastjson
|
2月前
|
存储 Java 编译器
Java泛型类型擦除以及类型擦除带来的问题
Java泛型在编译时会进行类型擦除,泛型信息被移除,仅保留原始类型(如Object或限定类型)。例如,List&lt;String&gt;和List&lt;Integer&gt;在运行时都变为List,导致无法通过instanceof判断泛型类型。类型检查发生在编译期,针对引用而非对象本身。为实现多态,编译器生成桥方法解决擦除后的冲突。静态成员不能使用类的泛型参数,因泛型实例化依赖对象创建,而静态上下文无需实例。基本类型需用包装类替代,如Double而非double。
|
2月前
|
Java
1.常见加载顺序
本示例展示了Java中代码块的执行顺序:静态代码块在类加载时执行,仅一次;局部代码块在方法内执行;构造代码块每次创建对象时执行。输出顺序体现优先级:静态 &gt; 构造 &gt; 构造器。
|
2月前
|
Java 大数据
ArrayList扩容机制
本文深入分析了ArrayList的add及扩容机制。添加首个元素时触发ensureCapacityInternal,初始容量为10;当元素数超过当前容量时,调用grow方法将容量扩充至原1.5倍,通过位运算提升性能,并结合minCapacity与MAX_ARRAY_SIZE处理边界情况,确保集合高效稳定扩展。