跳到主要内容

02--初识Spring Security

前言

在开始学习之前,一一哥 先带大家来了解一下Spring Security,看看它到底是什么,有哪些功能,有什么特点,以及它与别的同类框架相比,有什么不同,我们以后学习任何一个新技术,其实都可以遵循"3W1H"法则,这样学习起来才能更有条理。

一. Spring Security概念

首先请各位跟着 一一哥来了解一下 Spring Security的概念,我们得先知道要学习的是个什么东西,以后我们出去面试的时候,面试官可能会问你,"请你介绍一下Spring Security",那么答案其实就是这个概念了。

Spring Security是一个功能强大且高度可定制的,主要负责为Java程序提供声明式的 身份验证和访问控制 的安全框架。其前身是Acegi Security,后来被收纳为Spring的一个子项目,并更名为了Spring Security。

Spring Security的底层主要是 基于 Spring AOP 和 Servlet 过滤器 来实现安全控制,它提供了全面的安全解决方案,同时授权粒度可以在 Web请求级和方法调用级 来处理身份确认和授权。

二. Spring Security功能

接下来我们必须掌握Spring Security的核心功能有哪些,就是它能够做什么。

Spring Security 的核心功能主要包括如下几个:

  • 认证: 解决 "你是谁" 的问题-->解决的是系统中是否有这个“用户”(用户/设备/系统)的问题,也就是我们常说的“登录”。
  • 授权: 权限控制/鉴别,解决的是系统中某个用户能够访问哪些资源,即“你能干什么”的问题。Spring Security 支持基于 URL 的请求授权、方法访问授权、对象访问授权
  • 防护攻击: 防止身份伪造等各种攻击手段。
  • 加密功能: 对密码进行加密、匹配等。
  • 会话功能: 对Session进行管理。
  • RememberMe功能: 实现“记住我”功能,并可以实现token令牌持久化。