首页 > 其他分享 >Spring Security 知识点总结

Spring Security 知识点总结

时间:2022-11-10 01:44:06浏览次数:30  
标签:知识点 Spring System 密文 println root Security BCrypt out

Security部分

  1. WebSecurityConfigurerAdapter

    security 配置的核心类在这里配置权限等信息

  2. authentication

    authentication 是认证(登陆)

  3. authorization

    authorization 指的是授权(获取权限)

  4. 所有post请求都403异常的原因

    据说是因为跨域欺骗问题http.csrf().disable()可以解决
    但是为什么会有跨域?

  5. security整体架构图

  6. 认证流程图

    关键逻辑在 AbstractUserDetailsAuthenticationProvider 类的authenticate方法中

  7. idea 泛型不提示警告问题怎解决?

  8. 怎么获取登陆异常信息?

  9. 配置多个UserDetailsService的情况

    结果都不生效?还是说没用对?
    
  10. BCryptPasswordEncoder

    一种不可逆的摘要算法,不同盐生成的摘要不同,验证不需要盐

String p1 = BCrypt.hashpw("root", BCrypt.gensalt());
String p2 = BCrypt.hashpw("root",BCrypt.gensalt());

System.out.println(p1);
System.out.println(p2);
System.out.println(BCrypt.checkpw("root", p1));
System.out.println(BCrypt.checkpw("root", p2));

输出结果:

$2a$10$6Q6STleeJc0e49C98ur.7OHEvzpbrfxLedv908Qz8Sfi3DtUfhLKK
$2a$10$w8zEZLf6LLYG4KksSLTek.LAuzOJX.Eeb1MntUHksFhXY1J48PuTC
true
true
  1. 授权流程图

  2. 用户传入的密码应该是明文还是密文?

    1. 传入明文,然后加密后和数据库的密文对比,缺点明文密码可能被获取。

    2. 传入密文,然后直接和数据密文对比,即便被获取也是密文,但是直接那密文也能登陆和明文密码没区别。

    那种好?有没有一种数据库存密文,前端传入不同密文,然后还能严重这两个密文是同一个密码的加密方式?

  3. AccessDecisionManager 投票决策管理者(什么情况需要投票?)

    AccessDecisionManager 通过投票决定是否有范围权限,有三种实现

    1. AffirmativeBased:只要有一票通过就通过,全都弃权也算通过(默认是这种策略)

    2. ConsensusBased:投票通过的多余不通过的就通过,等于情况需要单独指定

    3. UnanimousBased:只要有一票反对就不通过

  4. 待定1111

Oauth 部分

AuthorizationServerConfigurerAdapter 授权关键类

标签:知识点,Spring,System,密文,println,root,Security,BCrypt,out
From: https://www.cnblogs.com/cxygg/p/16875751.html

相关文章

  • Spring Security 知识点总结
    Security部分WebSecurityConfigurerAdaptersecurity配置的核心类在这里配置权限等信息authenticationauthentication是认证(登陆)authorizationauthorizati......
  • Spring Boot 中使用 tkMapper
    说明:基于MyBatis有很多第三方功能插件,这些插件可以完成数据操作方法的封装、数据库逆向工程的生成等。tkMapper和MyBatis-plus都是基于MyBatis提供的第三方插件,功......
  • 01-SpringBoot注解
    SpringBoot注解Spring常用注解配置注解含义@Configuration定义一个类是Spring配置类@Bean配置自定义的Bean,如DruidDataSource@Componen......
  • Spring Cloud 之Config配置中心-使用Bus组件实现配置动态更新
    推荐:微服务汇总SpringCloud之Config配置中心-使用Bus组件实现配置动态更新首先创建一个SpringBoot项目作为注册中心。pom.xml如下:<?xmlversion="1.0"encoding="U......
  • Spring Boot:文件下载
    测试代码​​pom.xml​​:<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst......
  • SpringBoot 01: JavaConfig + @ImportResource + @PropertyResource
    springboot的前置知识:通过注解创建对象和读取配置文件1.JavaConfig设计思想使用java类作为xml配置文件的替代,是配置spring容器的纯java的方式可以创建java对象并把......
  • SpringCloud(八) - 自定义token令牌,鉴权(注解+拦截器),参数解析(注解+解析器)
    1、项目结构介绍项目有使用到,redis和swagger,不在具体介绍;2、手动鉴权和用户信息参数获取(繁杂,冗余)2.1用户实体类/***CreatedOn:4/11/2022.*<p>*Author......
  • SpringMVC概述
    1.SpringMVC是一种基于Java实现MVC模型的轻量级Web框架优点:使用简单,开发便捷(相比于Servlet)灵活性强2.SpringMVC是一种表现层框架技术,用于进行表现层功能开发3. Java......
  • SpringCloud(七) - 微信支付
    1、开发文档微信开发文档:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1安全规范:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_31、......
  • Spring Cloud Alibaba:Gateway之路由过滤器工厂(三)
    前两篇博客已经介绍了十一种路由过滤器工厂:​​SpringCloudAlibaba:Gateway之路由过滤器工厂(一)​​​​SpringCloudAlibaba:Gateway之路由过滤器工厂(二)​​随着​​Gatewa......