SpringSecurity入门篇

传送门

SpringMVC的源码解析(精品)
Spring6的源码解析(精品)
SpringBoot3框架(精品)
MyBatis框架(精品)
MyBatis-Plus
SpringDataJPA
SpringCloudNetflix
SpringCloudAlibaba(精品)
Shiro
SpringSecurity
java的LOG日志框架
Activiti(敬请期待)
JDK8新特性
JDK9新特性
JDK10新特性
JDK11新特性
JDK12新特性
JDK13新特性
JDK14新特性
JDK15新特性
JDK16新特性
JDK17新特性
JDK18新特性
JDK19新特性
JDK20新特性
JDK21新特性
其他技术文章传送门入口

前言

本质就是一串过滤器配合实现的认证与授权功能,对,你没看错,全都是过滤器。
然后还有一个规约,OAuth2.0规约,腾讯QQ、微信、等等都遵守这个规约,典型应用就是QQ快捷登录、微信快捷登录,很多网站都支持QQ快捷登录,你本来登录的是A网站,结果用的是你自己的QQ账号和密码。

SpringSecurity入门篇
SpringSecurity升级篇

一、概念

在这里插入图片描述
JWT令牌更安全,更好的配合OAuth2.0
在这里插入图片描述
授权码模式图

很安全,但是较为复杂
在这里插入图片描述
简化模式图

简化了 第三方应用通过code向 微信开放平台 要令牌的步骤,直接给了令牌。这个是因为,有些第三方应用没有专门服务器去向 微信开放平台拿着code要令牌,就简化了,直接给了令牌。(真实案例:例如淘宝部分平台)
在这里插入图片描述
密码模式图
在这里插入图片描述
客户端模式图
在这里插入图片描述
JWT令牌

本质就是一个加密的字符串。

二、SpringSectury快速上手

1、入门搭建

引入依赖
在这里插入图片描述
注解开启
在这里插入图片描述
启动项目的时候,启动日志中有 密码。默认账户是 user。这样 访问项目中任何一个接口,都需要输入账号密码了。
比如 访问http://localhost:8088/sysUser/login 会跳转到框架中默认地址
在这里插入图片描述
安全框架默认登录地址。 默认用户是user。登录以后接口才请求成功了 。
在这里插入图片描述
在这里插入图片描述

2、重新实现普通埋点的控制

在入门的基础上,主要是两个类,这是第一个 ResourcesConfig implements WebMvcConfigurer
在这里插入图片描述
第二个类,注意类上面加的注解。这里面其实主要控制了后端api接口的访问,控制的很精确,但是前端按钮的控制还是问题,而且这种控制不适合查询数据库来处理。
在这里插入图片描述

3、各种获取用户

4种
在这里插入图片描述

4、扩展点

在这里插入图片描述
在这里插入图片描述
注解支持控制资源
在这里插入图片描述
这样config那边就不用写具体接口地址了。直接在方法上控制。
在这里插入图片描述

三、SpringSectury工作原理

在这里插入图片描述
在这里插入图片描述

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Spring Security 是一个强大且灵活的身份验证和访问控制框架,可以在 Spring 应用程序中轻松添加安全性。下面是一个快速入门指南,帮助你了解如何在 Spring Boot 应用程序中使用 Spring Security。 1. 添加 Spring Security 依赖 在 pom.xml 文件中添加以下依赖: ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> ``` 2. 配置 Spring Security 在 application.properties 文件中添加以下配置: ``` spring.security.user.name=admin spring.security.user.password=admin123 ``` 这样就创建了一个名为 "admin",密码为 "admin123" 的用户。你可以通过在应用程序中使用这个用户来测试 Spring Security。 3. 创建安全配置 创建一个类来配置 Spring Security,这个类需要继承 WebSecurityConfigurerAdapter 类。在这个类中,你可以配置安全性规则和用户访问权限。 ``` @Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("/admin/**").hasRole("ADMIN") .antMatchers("/user/**").hasAnyRole("USER", "ADMIN") .antMatchers("/**").permitAll() .and() .formLogin(); } @Autowired public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { auth.inMemoryAuthentication() .withUser("admin").password("{noop}admin123").roles("ADMIN") .and() .withUser("user").password("{noop}user123").roles("USER"); } } ``` 在上面的示例代码中,我们配置了以下规则: - 所有 "/admin/**" 的请求需要有 "ADMIN" 角色才能访问; - 所有 "/user/**" 的请求需要有 "USER" 或 "ADMIN" 角色才能访问; - 所有其他请求都允许访问; - 启用表单登录。 我们还在 configureGlobal() 方法中配置了两个用户,一个是 "admin",另一个是 "user"。这两个用户都有不同的角色,可以用于测试。 4. 测试应用程序 现在你可以启动应用程序并测试它了。你可以使用 "/admin/**" 和 "/user/**" 路径中的不同 URL 来测试不同的角色。如果你尝试访问没有权限的 URL,系统会自动重定向到登录页面。 这就是 Spring Security 的快速入门指南。希望这篇文章能够帮助你快速了解 Spring Security 的基本用法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝影铁哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值