当前位置: 首页 > 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,以完全清除用户的会话}
}

http://www.lryc.cn/news/458626.html

相关文章:

  • 学习 PostgreSQL + Spring Boot 3 +mybatisplus整合过程中的报错记录
  • 立仪光谱共焦传感器在玻璃测量技术上的突破
  • Llama系列上新多模态!3.2版本开源超闭源,还和Arm联手搞了手机优化版,Meta首款多模态Llama 3.2开源!1B羊驼宝宝,跑在手机上了
  • 系统缺失mfc140.dll的修复方法,有效修复错误mfc140.dll详细步骤
  • 移动app的UI和接口自动化测试怎么进行?
  • Unity实现自定义图集(二)
  • 智能码二维码zhinengma.cn的动态数据更新是如何实现的?
  • uniapp view怎么按长度排列一行最多四个元素,并且换行后,每一行之间都有间隔
  • Android列表组件api
  • ToB项目身份认证AD集成(完):利用ldap.js实现与windows AD对接实现用户搜索、认证、密码修改等功能 - 以及针对中文转义问题的补丁方法介绍
  • SpringBoot+SeetaFace6搭建人脸识别平台
  • MySQL-06.DDL-表结构操作-创建
  • 在Visual Studio中使用CMakeLists.txt集成EasyX库的详细指南
  • CRC码计算原理
  • 对高危漏洞“Docker Engine API is accessible without authentication”的修复
  • 两种方式创建Vue项目
  • 深入理解 C/C++ 指针
  • 有什么方法可以保护ppt文件不被随意修改呢?
  • [C#]项目中如何用 GraphQL 代替传统 WebAPI服务
  • 对后端返回的日期属性进行格式化(扩展 Spring MVC 的消息转换器)
  • 踩坑记录-用python解析php Laravel8生成的jwt token一直提示 Invalid audience
  • 使用IOT-Tree Server制作一个边缘计算设备(Arm Linux)
  • (JAVA)B树和B+树的实现原理阐述
  • JC系列CAN通信说明
  • Ubuntu22——安装并配置局域网文件共享系统Samba
  • HTML CSS 基础
  • Nginx 使用 GeoIP 模块阻止特定国家 IP 地址的最佳实践
  • vue3 + vite + cesium项目
  • DR模式 LVS负载均衡群集
  • mysql复制表结构和数据