• 微服务-微服务Spring Security6实战


    1. Spring Security介绍

    1.1 Spring Security定义

    Spring Security 是一个能够为基于 Spring 的企业应用系统提供声明式的安全访问控制解决方案的安全框 架。 Spring Security 主要实现了 Authentication (认证,解决 who are you? ) 和 AccessControl (访问控制,也就是what are you allowed to do ?,也称为 Authorization )。 SpringSecurity 在架构上 将认证与授权分离,并提供了扩展点。
    Spring Security is a powerful and highly customizable authentication and access-control
    framework. It is the de-facto standard for securing Spring-based applications. Spring
    Security 是一个功能强大且高度可定制的身份验证和访问控制框架。它是用于保护基于 Spring
    应用程序。
    Spring Security is a framework that focuses on providing both authentication and
    authorization to Java applications. Like all Spring projects, the real power of Spring Security
    is found in how easily it can be extended to meet custom requirements
    Spring Security 是一个框架,侧重于为 Java 应用程序提供身份验证和授权。与所有 Spring 项目一样, Spring
    安全性
    的真正强大之处,在于它很容易扩展以满足定制需求

     认证 :用户认证就是判断一个用户的身份是否合法的过程,用户去访问系统资源时系统要求验证用户 的身份信息,身份合法方可继续访问,不合法则拒绝访问。常见的用户身份认证方式有:用户名密码 登录,二维码登录,手机短信登录,指纹认证等方式。

    授权 : 授权是用户认证通过根据用户的权限来控制用户访问资源的过程,拥有资源的访问权限则正常 访问,没有权限则拒绝访问。

    1.2 Spring SecurityShiro比较

    Java 生态中,目前有 Spring Security Apache Shiro 两个安全框架,可以完成认证和授权的功能。
    Spring Security
    Apache Shiro :一个功能强大且易于使用的 Java 安全框架 , 提供了认证 , 授权 , 加密 , 和会话管理。
    相同点:
    1. 认证功能
    2. 授权功能
    3. 加密功能
    4. 会话管理
    5. 缓存支持
    6. rememberMe功能
    不同点:
    优点:
    1. Spring Security基于Spring开发,项目中如果使用Spring作为基础,配合Spring Security做权限更加方便,而 Shiro需要和Spring进行整合开发
    2. Spring Security功能比Shiro更加丰富些,例如安全防护
    3. Spring Security社区资源比Shiro丰富
    缺点:
    1. Shiro 的配置和使用比较简单, Spring Security 上手复杂
    2. Shiro 依赖性低,不需要任何框架和容器,可以独立运行,而 Spring Security 依赖于 Spring 容器
    一般来说,常见的安全管理技术栈的组合是这样的:
    SSM + Shiro
    Spring Boot/Spring Cloud +Spring Security

    2. Spring Security使用

    2.1 用户身份认证

    快速开始
    创建一个 SpringBoot 项目
    1
  • 相关阅读:
    Debian下Hadoop集群安装
    中英文说明书丨Abbkine细胞迁移分析试剂盒
    会员权益-需求调查:需要什么样的云服务器优惠
    Vue3+Ts+Vite项目(第十五篇)——tailwindcss安装及使用详解,css原子化如何实现
    C++教程(2)
    Lego-Laom算法深度解析
    谷歌的新编程语言被称为 Carbon
    Python下划线中 _xx、__xx、__xx__ 的区别
    Kickstarter众筹是什么流程
    Elasticsearch学习(一)
  • 原文地址:https://blog.csdn.net/weixin_43874650/article/details/136276476