zoukankan      html  css  js  c++  java
  • 214. Spring Security:概述

    前言

           在之前介绍过了Shiro之后,有好多粉丝问SpringSecurity在Spring Boot中怎么集成。这个系列我们就和大家分享下有关这方面的知识。

     

    本节大纲

     

    一、什么是SpringSecurity?
    二、常用安全框架

     

    一、什么是Spring Security?

    SpringSecurity是基于Spring AOP和Servlet过滤器的安全框架。它提供全面的安全性解决方案,同时在Web 请求级方法调用级处理身份确认和授权。在 Spring Framework 基础上,Spring Security 充分利用了依赖注入(DI,Dependency Injection)和面向切面编程(AOP)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。它是一个轻量级的安全框架,它确保基于Spring的应用程序提供身份验证和授权支持。它与Spring MVC有很好地集成,并配备了流行的安全算法实现捆绑在一起。安全主要包括两个操作“认证”与“验证”(有时候也会叫做权限控制)。“认证”是为用户建立一个其声明的角色的过程,这个角色可以一个用户、一个设备或者一个系统。“验证”指的是一个用户在你的应用中能够执行某个操作。在到达授权判断之前,角色已经在身份认证过程中建立了。

           我们简单来理解一下上面这段话:

    第一:什么是Spring Security ?

    Spring Security是一个安全框架。

    第二:Spring Security核心功能?

    (1)认证(你是谁,用户/设备/系统)

    (2)验证(你能干什么,也叫权限控制/授权,允许执行的操作)

    (3)攻击防护(防止伪造身份)

    第三:Spring Security原理技术

    Filter、Servlet、Spring DI、SpringAOP

     

    二、常用安全框架

           目前常用的安全框架主要是Spring Security和Apache Shiro,它们的区别是什么呢?

     

    2.1 相同点

    (1)认证功能

    (2)授权功能

    (3)加密功能

    (4)会话功能

    (5)缓存支持

    (6)remeberMe功能

    ……

    2.2 不同点(Spring Security PK Apache Shiro

    优点:

    (1)Spring Security基于Spring开发,项目中如果使用Spring作为基础,配合Spring Security做权限更加方便。而Shiro需要和Spring进行整合。

    (2)Spring Security功能比Shiro更加丰富,例如安全防护方面。

    (3)Spring Security社区资源相对比Shiro更加丰富。

    (4)如果使用的是Spring Boot,Spring Cloud的话,三者可以无缝集成。

    缺点:

    (1)Shiro的配置和使用比较简单,Spring Security上手复杂些。

    (2)Shiro依赖性低,不需要任何框架和容器,可以独立运行,而Spring Security依赖Spring容器。

           企业里选择哪个安全框架,是因人而异,因团队而异,擅长哪个选择哪个,大部分的业务场景,两个框架都是可以满足需求的。

           本节就到这里,下节我们通过编码对于Spring Security有一个基本的认识。

     

    SpringBoot2+SpringSecurity5视频

    相关技术版本如下:

    (1)JDK版本:1.8

    (2)Spring Boot 2.0.6

    (3)Spring Security 5.0.9

    (4)Spring Data JPA 2.0.11.RELEASE

    (5)hibernate5.2.17.Final

    (6)MySQLDriver 5.1.47

    (7)MySQL 8.0.12

     


    已更新视频列表:


    1.    
    概述
    2.    初体验
    3.    基于内存的认证信息
    4.    基于内存的角色授权
    5.    基于内存数据库的身份认证和角色授权
    6.    基于MySQL数据库的身份认证和角色授权
    7.    自定义登录页面和构建主页
    8.    登出和403处理
    8.    登出和403处理
    9.    动态加载角色
    10.   原理1
    11.   自定义Filter

    连载中...

    Spring Boot+Spring Security:基于URL动态权限配置

     


    à悟空学院http://t.cn/Rg3fKJD

    学院中有Spring Boot相关的课程!点击「立即前往」进行查看!

    SpringBoot视频:http://t.cn/R3QepWG

    Spring Cloud视频:http://t.cn/R3QeRZc

    SpringBoot Shiro视频:http://t.cn/R3QDMbh

    SpringBoot交流平台:http://t.cn/R3QDhU0

    SpringData和JPA视频:http://t.cn/R1pSojf

    SpringSecurity5.0视频:http://t.cn/EwlLjHh

     
     微信公众号「SpringBoot最近更新: 
    219.Spring Boot+Spring Security:基于MySQL数据库的身份认证和角色授权
    218.Spring Boot+Spring Security:基于内存数据库的身份认证和角色授权
    217.Spring Boot+Spring Security:基于内存的角色授权
    216.Spring Boot+Spring Security:基于内存的认证信息
    215.Spring Boot+Spring Security:初体验
    214. Spring Security:概述
    213.Spring Boot 2.0新特性:配置绑定
    212. Spring Boot WebFlux:响应式Spring Data之MongoDB
    211. Spring Boot WebFlux:使用篇
    210. Spring Boot WebFlux:概念篇
    Java8新特性:Stream:实战篇
    为了更勇敢,你可以害怕@一禅小和尚
    Java8新特性:Stream:基础篇
    Java8新特性:方法引用
    209. SpringBoot quartz:sqlserver启动只有 DECLARE CURSOR 才允许使用...
    风口之上,我是那头猪嘛?
    Java8新特性:Lambda表达式: 摸摸里面
    Java8新特性:Lambda表达式:过关斩将:使用场景
    Java8新特性:Lambda表达式:小试牛刀
    下雨天,适合学「Spring Boot」
    Java8新特性:接口的默认方法
    208. Spring Boot Swagger2:排序 – 漂游记
    207. Spring Boot Swagger2:极简方式
    我读的书很多,但都没有你好看【一禅录】
    206. Spring Boot 2.0 Swagger2:使用
    205. Spring Boot 2.0 Swagger2:初识Swagger
    当要离开的时候,我却动情了
    205. jetcache:你需要知道的小技巧
    204. jetcache:在Spring Boot中怎么玩?

     搜索springboot或者扫描以下二维码即可关注:

  • 相关阅读:
    laytpl模板——怎么使用ajax与数据交互
    项目中遇到的几个日期转换的场景
    input可以自动换行吗???
    EL表达式 if 和 if else语句的写法
    小程序开发之背景图片的设置
    主流浏览器内核
    HTTP状态码
    (四)js数组方法一
    (效果二)js实现两个变量值的交换
    (十八)js控制台方法
  • 原文地址:https://www.cnblogs.com/springboot-wuqian/p/10103957.html
Copyright © 2011-2022 走看看