在线教育项目框架(4)–spring security

  • Post author:
  • Post category:其他





学习spring security之前需要什么技术

  • spring boot基础一定要会,如果没有spring boot基础的话,你会发现看那些注解或者源码时一脸懵的。
  • javaweb基础一定要会一点,这个安全框架是基于web环境的,当然javaweb也包括过滤器,拦截器这些基本知识。
  • mybatis 框架也是要会的,因为在做用户认证的时候,会操作数据库进行用户名匹配。当然,如果你学过mybatis-plus更加好了,因为mybatis-plus是mybatis快速开发的脚手架,很多简单的增删改查都有接口。




什么是spring security

Spring 是一个非常流行和成功的 Java 应用开发框架。Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案。一般来说,Web 应用的安全性包括

用户认证

(Authentication)和

用户授权

(Authorization)两个部分。

在spring流行的时候,spring security已经开始有人用了,但是当时用的人比较少,因为spring被称为-“配置地狱”,spring+springsecurity结合就会使得配置文件变得非常的多,毕竟spring security是重量级框架。当时安全框架是shiro的天下,因为shiro是轻量级框架。但是当springboot出现之后,spring security就开始流行起来了,spring security可以和springboot完美兼容,而且很多默认配置都是springboot内置配置了。



spring security的本质

spring security的本质就是一条过滤链(过滤链就是众多过滤器的集合)。

客户端发送认证请求,途中需要经过许多过滤器,等这些过滤器都过滤之后才允许访问服务端,之所以spring security被称为安全框架,就是因为有这些过滤器的存在。

什么是过滤器?

过滤器是servlet新增的一个功能,过滤器是处于客户端与服务器资源文件之间的一道过滤网,在访问资源文件之前,通过一系列的过滤器对请求进行修改、判断等,把不符合规则的请求在中途拦截或修改。也可以对响应进行过滤,拦截或修改响应。过滤器是对所有的请求都会进行过滤。

在这里插入图片描述





spring security的作用


用户认证

:验证用户名和密码是否正确,简单的来说就是

用户登录

过程就是

用户认证


用户授权

:用户登录之后,授于用户的权限,简单的来说–普通用户和管理员 普通用户只能进行查询的权限,但是管理员对增删改查的权限都有,这就是用户授权。每个用户的权限不一样,权限不一样,所能访问的页面也不一样。





sping security在微服务架构中的应用

一般的微服务架构都是基于token的形式来实现的。不但token的安全性更加高,而且后面单点登录的时候也要用到token。用户认证成功返回一个token令牌。




结合项目代码详解

这个项目是尚硅谷的谷粒商城项目。

(1)大体架构:

在这里插入图片描述

(2)springsecurity在项目中的执行流程:

在这里插入图片描述

在这里插入图片描述

我只学习了spring security的具体思想。如果需要具体代码的请移步到我的GitHub上。

GitHub项目地址:

https://gitee.com/lsc_12/guli-college



版权声明:本文为weixin_45255645原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。