SpringSecurity系列学习(一):初识SpringSecurity

SpringSecurity系列

SpringSecurity系列学习(一):初识SpringSecurity

SpringSecurity系列学习(二):密码验证

SpringSecurity系列学习(三):认证流程和源码解析

SpringSecurity系列学习(四):基于JWT的认证

SpringSecurity系列学习(四-番外):多因子验证和TOTP

SpringSecurity系列学习(五):授权流程和源码分析

SpringSecurity系列学习(六):基于RBAC的授权

SpringSecurityOauth2系列

SpringSecurityOauth2系列学习(一):初认Oauth2

SpringSecurityOauth2系列学习(二):授权服务

SpringSecurityOauth2系列学习(三):资源服务

SpringSecurityOauth2系列学习(四):自定义登陆登出接口

SpringSecurityOauth2系列学习(五):授权服务自定义异常处理

SpringSecurity

Spring Security是spring采用AOP思想,基于servlet过滤器实现的安全框架。它提供了完善的认证机制和方法级的

授权功能。是一款非常优秀的权限管理框架。

学习SpringSecurity,一般都是从前后端不分离架构开始学习,然后学习前后端分离的JWT + SpringSecurity架构,之后再学习SpringSecurity + Oauth2微服务架构。

现在大部分项目都是前后端分离的,为什么还需要去看前后端不分离架构下SpringSecurity的一些东西呢?其实这部分的学习只是为了打一个基础,SpringSecurity的发展也是从前后端不分离开始的,不论是后来的前后端分离架构还是微服务架构,SpringSecurity的主要逻辑都是大同小异的。

当然这部分的学习我们先不进行编码,主要是去看概念和源码,因为在做项目的时候,主要还是采用的前后端分离的JWT + SpringSecurity架构或者SpringSecurity + Oauth2微服务架构,编码我们从第二章开始,这一章我们先看看SpringSecurity中的一些基础的东西。

认证和授权

说到SpringSecurity就要说到它的核心功能:认证和授权

认证:我是谁的问题,也就是我们通常说的登陆

SpringSecurity系列学习(一):初识SpringSecurity

授权:身份验证,我能干什么。

SpringSecurity系列学习(一):初识SpringSecurity

认证和授权在SpringSecurity中是怎么样的流程呢?

这里我们写一个简单的demo,来看一下在SpringSecurity中认证和授权的流程

认证Demo

新建一个springboot工程,引入依赖

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

引入依赖之后,SpringSecurity就已经有默认的配置了,这个时候写一个简单的控制器访问,会被SpringSecurity保护拦截。

/** * @author 硝酸铜 * @date 2021/6/2 */ @RestController @RequestMapping(value = "/api") public class UserResource { @GetMapping(value = "/greeting") public String greeting(){ return "Hello World"; } }

启动项目,访问:8080/greeting,会被SpringSecurity拦截,重定向到:8080/login进行登录,这个页面是SpringSecurity默认的登陆页面

SpringSecurity系列学习(一):初识SpringSecurity

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgwzww.html