【第一章】初识Spring Security

帘外芭蕉惹骤雨,门环惹铜绿,而我路过那江南小镇惹的你。

一、什么是Spring Security

先看下官网解释

Spring Security
Spring Security is a framework that provides authentication, authorization, and protection against common attacks. With first class support for securing both imperative and reactive applications, it is the de-facto standard for securing Spring-based applications.

百度翻译

Spring Security是一个提供身份验证、授权和防止常见攻击的框架。凭借对保护命令式和反应式应用程序的一流支持,它是保护基于Spring的应用程序的事实标准。

通俗一点说,spring security是一个支持命令式和响应式编程的应用程序的安全框架,他式基于spring应用程序的默认标准,提供认证、授权、以及一些常见攻击的框架。

当然安全框架不止spring security一个,java开发基本都有了解过shiro,shiro是一款轻量级安全框架,使用起来比较简单。但是spring security虽然相对复杂,但是其中提供了非常的扩展能力,能够应对更多的场景需求,在当前使用spring框架的应用程序中,基本都推荐使用spring security作为安全框架了。

在后面的课程中,我们将会从spring security原理及源码介绍其使用方法。

二、Spring Security使用场景

在现代web应用中,几乎所有的应用都需要登录验证身份信息,无论是以何种形式的如用户名密码登录的,使用第三放账号登录的等等;所以spring security就应运而生,可以不夸张的说一句,在现在java开发的web应用中,凡是使用spring作为基础框架的,一定会使用spring security作为安全依赖。
当然如果是开放型的web应用,或者对外只提供接口的就另当别论了。这里只想说spring security应用还是很广泛的,当然引入spring security实现业务功能,相关的博文也是很多的,是可以很快的集成到你们的项目中的,不过有兴趣的话还是可以深入了解一下spring security是如何工作的。

三、springboot整合Spring Security

3.1 整体架构

整体项目是采用的阿里巴巴开源的cola架构搭建的,下面先看下整体项目结构,当然只是初始的,后面我们将一步一步完善。

在这里插入图片描述

这里简单描述下这个项目结构,starter模块是启动模块,adapter模块是适配器模块,简单理解就是传统的controller层放这个模块里,当然不止controller,详细的下次单独介绍一下cola模块,infrastructure模块是基础设施模块,简单理解就是DAO与数据库交互层,或者一些配置、远程调用等等。

3.2 引入依赖

这里我们依赖的springboot版本是2.7.18

在父模块引入spring-boot依赖
<parent>
   <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.7.14</version>
</parent>

这个在子模块引入spring-security依赖
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

3.3 启动项目

先看下没引入 spring-boot-starter-security 依赖的时候是什么样子的

在这里插入图片描述

可以看到,就是我们一个普通springboot项目启动,没有任何新鲜的东西,随便建个接口访问一下看看:

在这里插入图片描述

好了,一切正常,下面加入 spring-boot-starter-security 依赖

在这里插入图片描述

可以看到,引入 security 依赖后,启动会生成一个随机密码,再次访问上面的接口已经不可以了,我们 使用 user 用户名和启动生成的随机密码后才可以正常访问;

在这里插入图片描述
在这里插入图片描述
至此,security依赖已经完成引入了,过程简单,正常不会出现意外。如果你在引入的过程中出现意外,欢迎评论区留言讨论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值