当前位置: 首页 > news >正文

Spring Security无脑使用

步骤1:添加Spring Security依赖

在你的Spring Boot项目的pom.xml文件中,添加Spring Security的依赖:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId>
</dependency>

步骤2:写一个简单地hello接口:

步骤3:浏览器访问接口

默认的用户名是 user ,默认的登录密码 在每次启动项目时随机生成 查看项目启动日志:

从项目启动日志中可以看到默认的登录密码,登录成功后,就可以访问hello 接口了。

步骤4:自己配置账户名或者密码

步骤2:创建Spring Security配置类

创建一个继承自WebSecurityConfigurerAdapter的配置类,并重写configure()方法来配置Spring Security的行为。

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {@Overrideprotected void configure(HttpSecurity http) throws Exception {http.authorizeRequests()  //这开始了一个授权请求的配置链。.authorizeRequests() 方法允许你指定哪些 URL 需要认证和授权。.antMatchers("/", "/home").permitAll() // 方法指定了两个 URL 模式,/ 和 /home。.permitAll() 表示这些 URL 可以被任何用户无条件访问,即使他们没有登录。.anyRequest().authenticated() //.anyRequest() 表示所有未被前面规则明确指定的请求。.authenticated() 指定这些请求需要经过身份验证才能访问。.and() //.and() 方法用于继续下一个配置步骤。在这里,它用于从授权请求配置切换到其他配置,如表单登录配置。.formLogin() //.formLogin() 配置了表单登录功能//.loginPage("/login") 指定了登录页面的 URL 注意:配置了.loginPage("/login") ,你必须写这个页面,如果不配置,就用Spring Security 内置的Form登录页面.permitAll()   // 表示这个登录页面可以被任何人访问,不需要身份验证。.and()  //同样地,.and() 用于继续到下一个配置步骤,这里是登出配置。.logout()   //.logout() 开始配置登出功能。.logoutUrl("/logout")  //设置了处理登出请求的 URL.logoutSuccessUrl("/login") //指定了登出成功后用户会被重定向到的 URL.invalidateHttpSession(true) //表示在登出时会销毁 HttpSession。.deleteCookies("JSESSIONID");   //用于删除 JSESSIONID cookie,以完全清除用户的会话}
}

相关文章:

Spring Security无脑使用

步骤1&#xff1a;添加Spring Security依赖 在你的Spring Boot项目的pom.xml文件中&#xff0c;添加Spring Security的依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</art…...

学习 PostgreSQL + Spring Boot 3 +mybatisplus整合过程中的报错记录

今天计划学习 PostgreSQL&#xff0c;并顺便尝试使用 Spring Boot 3.x 框架&#xff0c;打算整合 Spring Boot 3、PostgreSQL 和 MyBatis-Plus。整合后一直出现以下报错&#xff1a; 去AI上面搜了讲的是sqlSessionFactory 或 sqlSessionTemplate 没有正确配置 初始分析&#…...

立仪光谱共焦传感器在玻璃测量技术上的突破

近年来&#xff0c;随着科技的不断发展&#xff0c;光谱共焦传感器逐渐成为了工业检测领域的重要工具。尤其是在玻璃这种透明材质的厚度测量中&#xff0c;光谱共焦传感器展现出了其独特的优势。立仪科技小编将围绕光谱共焦传感器在玻璃行业中的应用&#xff0c;从问题、分析到…...

Llama系列上新多模态!3.2版本开源超闭源,还和Arm联手搞了手机优化版,Meta首款多模态Llama 3.2开源!1B羊驼宝宝,跑在手机上了

Llama系列上新多模态&#xff01;3.2版本开源超闭源&#xff0c;还和Arm联手搞了手机优化版&#xff0c;Meta首款多模态Llama 3.2开源&#xff01;1B羊驼宝宝&#xff0c;跑在手机上了&#xff01; 在多模态领域&#xff0c;开源模型也超闭源了&#xff01; 就在刚刚结束的Met…...

系统缺失mfc140.dll的修复方法,有效修复错误mfc140.dll详细步骤

mfc140.dll丢失原因分析 1 系统文件损坏或病毒感染 系统文件损坏或被病毒感染是导致mfc140.dll丢失的常见原因之一。根据用户反馈和安全研究报告&#xff0c;大约有30%的mfc140.dll丢失案例与系统文件损坏或病毒感染有关。病毒、木马或其他恶意软件可能会破坏或删除系统中的m…...

移动app的UI和接口自动化测试怎么进行?

标题&#xff1a;从0到1&#xff1a;移动App的UI和接口自动化测试 导语&#xff1a;移动App的快速发展使得UI和接口自动化测试成为了确保应用质量的重要环节。本文将从零开始介绍移动App的UI和接口自动化测试的基本概念以及如何进行测试。 第一部分&#xff1a;了解移动App自动…...

Unity实现自定义图集(二)

以下内容是根据Unity 2020.1.0f1版本进行编写的   实现一个自定义图集,该怎么入手呢。首先简单思考一下unity是怎么实现图集的。 因为unity的ui部分是开源的,所以我们可以看到UGUI的源代码,另外,Unity的内置Shader也是开源的,可以直接在官网下载(在下载的网页选择Built…...

智能码二维码zhinengma.cn的动态数据更新是如何实现的?

智能码二维码的动态数据更新功能是通过其背后的技术原理实现的&#xff0c;主要依赖于服务器和二维码的链接结构。以下是具体介绍&#xff1a; 动态数据更新的实现原理 链接嵌入&#xff1a;动态二维码中嵌入了一个链接&#xff0c;该链接指向服务器上的数据源。数据请求与更…...

uniapp view怎么按长度排列一行最多四个元素,并且换行后,每一行之间都有间隔

推荐学习文档 golang应用级os框架&#xff0c;欢迎stargolang应用级os框架使用案例&#xff0c;欢迎star案例&#xff1a;基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总想学习更多golang知识&#xff0c;这里有免费的golang学习笔…...

Android列表组件api

目录 1.ListView控件 1&#xff09;android:divider 2&#xff09;android:dividerHeight 3&#xff09;android:entries 4&#xff09;android:footerDividersEnabled 5&#xff09;android:headerDividersEnabled 6&#xff09;android:listSelector 7&#xff09;android:sc…...

ToB项目身份认证AD集成(完):利用ldap.js实现与windows AD对接实现用户搜索、认证、密码修改等功能 - 以及针对中文转义问题的补丁方法介绍

在前面的两篇文章中&#xff0c;我详细的介绍了使用ldap与window AD服务集成&#xff0c;实现ToB项目中的身份认证集成方案&#xff0c;包括技术方案介绍、环境配置&#xff1a; ToB项目身份认证AD集成&#xff08;一&#xff09;&#xff1a;基于目录的用户管理、LDAP和Active…...

SpringBoot+SeetaFace6搭建人脸识别平台

前言 最近多个项目需要接入人脸识别功能&#xff0c;之前的方案是使用百度云api集成&#xff0c;但是后续部分项目是内网部署及使用&#xff0c;考虑到接入复杂程度及收费等多种因素&#xff0c;决定参考开源方案自己搭建&#xff0c;保证服务的稳定性与可靠性 项目地址&…...

MySQL-06.DDL-表结构操作-创建

一.DDL(表操作) create database db01;use db01;create table tb_user(id int comment ID&#xff0c;唯一标识,username varchar(20) comment 用户名,name varchar(10) comment 姓名,age int comment 年龄,gender char(1) comment 性别 ) comment 用户表; 此时并没有限制ID为…...

在Visual Studio中使用CMakeLists.txt集成EasyX库的详细指南

EasyX库是一款专为Windows平台设计的轻量级C图形库&#xff0c;适合初学者和教育领域使用。结合Visual Studio和CMake工具链&#xff0c;用户可以轻松创建C项目&#xff0c;并集成EasyX库&#xff0c;实现丰富的图形编程效果。本文将详细介绍如何在Visual Studio中通过CMakeLis…...

CRC码计算原理

CRC8这里先以CRC8来说明CRC的计算过程1、CRC8在线计算器通过CRC在线计算器可以看见CRC8的特征多项式:x8+x2+x+1,初始值为0000’0000。CRC计算的核心是:反转+异或+移位(此处的CRC8没有涉及反转,见后面CRC16)。2、CRC8计算过程(1)、取值从高到低依次取需校验数据的位,这里…...

对高危漏洞“Docker Engine API is accessible without authentication”的修复

一.背景 之前文章maven项目容器化运行之1-基于1Panel软件将docker镜像构建能力分享给局域网_1panel 构建镜像-CSDN博客将1Panel软件的Doocker端口给到了局域网&#xff0c;安全组兄弟扫描认为是高危漏洞&#xff0c;可能导致攻击者获取对Docker主机的完全控制权。 二.修复的建…...

两种方式创建Vue项目

文章目录 引言利用Vue命令创建Vue项目准备工作安装Vue CLI创建Vue项目方法一&#xff1a;使用vue init命令方法二&#xff1a;使用vue create命令启动Vue项目 利用Vite工具创建Vue项目概述利用Vite创建项目启动项目 结语 引言 大家好&#xff0c;今天我将向大家展示如何使用不…...

深入理解 C/C++ 指针

深入理解 C 指针&#xff1a;指针、解引用与指针变量的详细解析 前言 在 C 编程语言中&#xff0c;指针 是一个非常强大且重要的概念。对于初学者来说&#xff0c;指针往往会让人感到困惑不解。本文将通过形象的比喻&#xff0c;帮助大家深入理解指针、解引用与指针变量的概念…...

有什么方法可以保护ppt文件不被随意修改呢?

在工作或学习中&#xff0c;我们常常需要制作powerpoint演示文稿&#xff0c;担心自己不小心改动了或者不想他人随意更改&#xff0c;我们可以如何保护PPT呢&#xff1f;下面小编就来分享两个常用的方法。 方法一&#xff1a;为PPT设置打开密码 为PPT设置打开密码是最直接有效…...

[C#]项目中如何用 GraphQL 代替传统 WebAPI服务

在现代应用程序开发中&#xff0c;传统的 WebAPI 通常使用 RESTful 设计风格&#xff0c;然而近年来 GraphQL 作为一种新的 API 查询语言逐渐获得广泛应用。GraphQL 允许客户端精确地查询所需的数据&#xff0c;减少了过度请求和不足请求的问题。本文将详细讨论在项目中用 Grap…...

智能体状态管理:会话、上下文与检查点

从一个“跑了三天三夜的Agent突然失忆”说起&#xff0c;聊聊状态管理的那些坑先给你讲一个让我头皮发麻的运维事故。 去年冬天&#xff0c;我们做了一个自动爬取竞品价格并生成调价建议的Agent。它跑得很好&#xff0c;连续工作了三天&#xff0c;完成了两万多件商品的价格监控…...

嵌入式C函数指针覆盖变量问题分析与解决方案

1. 函数指针覆盖变量问题解析在嵌入式C语言开发中&#xff0c;函数指针是一种强大的工具&#xff0c;但也可能带来一些难以察觉的问题。特别是在Keil MDK等嵌入式开发环境中&#xff0c;函数指针的错误使用可能导致变量被意外覆盖&#xff0c;这类问题往往难以调试。1.1 问题现…...

DIY USB-C扩展坞:从引脚连接到3D打印,打造开发板专属工作站

1. 项目概述与核心价值如果你和我一样&#xff0c;桌上常年堆着各种开发板&#xff0c;从Arduino Uno到最新的ESP32-S3&#xff0c;每次想插拔USB线调试或者充电&#xff0c;都得在一堆线缆里翻找&#xff0c;板子还容易滑来滑去&#xff0c;那这个项目就是为你准备的。今天我们…...

[技术解析]图卷积网络在半监督节点分类中的实战与优化

1. 图卷积网络入门&#xff1a;从传统CNN到GCN的思维跃迁 第一次接触图卷积网络(GCN)时&#xff0c;我习惯性地用传统CNN的思维去理解它&#xff0c;结果踩了不少坑。传统卷积在规整的网格数据上滑动滤波器的操作&#xff0c;在图数据中完全行不通——因为图的拓扑结构是不规则…...

终极AMD Ryzen处理器调试指南:如何用SMUDebugTool解锁隐藏性能潜力

终极AMD Ryzen处理器调试指南&#xff1a;如何用SMUDebugTool解锁隐藏性能潜力 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址…...

Vatee:风险管理理念的深度实践

伴随金融市场的不断成熟&#xff0c;越来越多的客户开始关注平台的专业水准与综合能力。Vatee在行业中的发展轨迹较为值得关注。本文从评测视角出发&#xff0c;对其在多个核心维度上的实践进行综合呈现&#xff0c;力图以客观、平衡的姿态展示该平台的整体面貌&#xff0c;便于…...

AMD Ryzen处理器终极调试指南:SMU Debug Tool实战技巧与完整解决方案

AMD Ryzen处理器终极调试指南&#xff1a;SMU Debug Tool实战技巧与完整解决方案 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地…...

LLM从零到英雄:四阶段学习路径与实战指南

1. 项目概述&#xff1a;从零到英雄的LLM学习之旅最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“LLMs-Zero-to-Hero”。光看名字就挺带劲的&#xff0c;直译过来就是“大语言模型&#xff1a;从零到英雄”。这项目定位非常清晰&#xff0c;就是给那些想入门大语言模型&…...

终极风扇控制指南:FanControl免费软件让你的电脑散热更智能

终极风扇控制指南&#xff1a;FanControl免费软件让你的电脑散热更智能 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trendi…...

开源阅读鸿蒙版:打造你的专属数字图书馆,重获阅读自由

开源阅读鸿蒙版&#xff1a;打造你的专属数字图书馆&#xff0c;重获阅读自由 【免费下载链接】legado-Harmony 开源阅读鸿蒙版仓库 项目地址: https://gitcode.com/gh_mirrors/le/legado-Harmony 你是否厌倦了在多个阅读应用间来回切换&#xff1f;是否对层出不穷的广告…...