当前位置: 首页 > news >正文

【思考Spring Security框架的相关问题】

Spring Security框架主要解决了什么问题?

 答:Spring Security框架主要解决了认证与授权相关的问题。

BCrypt算法的主要特点是什么?
答:1.BCrypt算法是用于对密码进行加密处理的,在spring-boot-starter-security中包含了BCryptPasswordEncoder,可以实现编码、验证:
   2.BCrypt算法默认使用了随机盐值,所以,即使使用相同的原文,每次编码产生的密文都是不同的!
   3.BCrypt算法被刻意设计为慢速的,所以,可以非常有限的避免穷举式的暴力破解!

UUID的主要特点是什么?

UUID是全球唯一,从设置上处于时空唯一
答:继承自WebSecurityConfigurerAdapter类,并重写其中的void configure(HttpSecurity http)方法进行配置


http.formLogin()方法的作用是什么?
  答;打开表单验证

配置请求认证的过程中,调用的mvcMatchers()方法的作用是什么?
      答:    匹配某些路径

配置请求认证的过程中,调用的permitAll()方法的作用是什么?
 答:直接许可,即可不需要通过认证即可访问

配置请求认证的过程中,如果某个路径被多次匹配,最终此路径的规则是什么?
 答:以第1次配置的为准

http.csrs().disable()的作用是什么?

答:将防止伪造跨域攻击的机制禁用

UserDetailsService的作用是什么?
 答;   加载用户详情
如果得到AuthenticationManager对象?
答:使用Service处理登录认证
调用AuthenticationManager的authenticate()方法处理认证
可以通过重写配置类中的authenticationManagerBean()方法,并添加@Bean注解来得到
当调用AuthenticationManager对象的authenticate()方法后,会发生什么?此方法的返回结果是什么?
答:,会返回Authentication接口类型的对象,本质上是UsernamePasswordAuthenticationToken类型,此类型中的pricipal属性就是通过认证的用户信息
Spring Security如何判定某个请求是否已经通过认证?
答:基于Spring Security框架的特征“依据SecurityContext中的认证信息来判定当前是否已经通过认证”,
所以,客户端应该在得到JWT之后,携带JWT向服务器端提交请求,而服务器端应该尝试解析此JWT,
并且从中获取用户信息,用于创建认证对象,最后,将认证对象存入到SecurityContext中,剩下的就可以交由框架进行处理了,例如判断是否已经通过认证等。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 香橙派AIpro做目标检测
  • 【JS|第21期】JavaScript模块化:深入解析三种文件暴露方式
  • buuctf题目讲解-1
  • Docker实战教程(一)
  • 大语言模型里的微调vs RAG vs 模板提示词
  • 用vue2+elementUI封装手机端选择器picker组件,支持单选、多选、远程搜索多选
  • 类与对象-继承-同名成员处理
  • SCSA第四天
  • VSCode设置字体大小
  • 机器学习与深度学习:区别与联系(含工作站硬件推荐)
  • 力扣之有序链表去重
  • IEC62056标准体系简介-4.IEC62056-53 COSEM应用层
  • 医疗器械网络安全 | 漏洞扫描、渗透测试没有发现问题,是否说明我的设备是安全的?
  • 数字化转型领航者:佑美科技塑造智能健康新生态
  • 什么是 GC Roots??一文带你看懂!!
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • java2019面试题北京
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • Making An Indicator With Pure CSS
  • Next.js之基础概念(二)
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • orm2 中文文档 3.1 模型属性
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • React-Native - 收藏集 - 掘金
  • 经典排序算法及其 Java 实现
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 入门到放弃node系列之Hello Word篇
  • 入手阿里云新服务器的部署NODE
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 使用Swoole加速Laravel(正式环境中)
  • 我是如何设计 Upload 上传组件的
  • 用Python写一份独特的元宵节祝福
  • 1.Ext JS 建立web开发工程
  • FaaS 的简单实践
  • 阿里云服务器如何修改远程端口?
  • 如何正确理解,内页权重高于首页?
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • (2)STL算法之元素计数
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (STM32笔记)九、RCC时钟树与时钟 第一部分
  • (二)换源+apt-get基础配置+搜狗拼音
  • (算法)Game
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • (转)菜鸟学数据库(三)——存储过程
  • (转)平衡树
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • ****Linux下Mysql的安装和配置
  • **CI中自动类加载的用法总结
  • *算法训练(leetcode)第四十五天 | 101. 孤岛的总面积、102. 沉没孤岛、103. 水流问题、104. 建造最大岛屿
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
  • .Net通用分页类(存储过程分页版,可以选择页码的显示样式,且有中英选择)
  • .vimrc php,修改home目录下的.vimrc文件,vim配置php高亮显示
  • @Builder注释导致@RequestBody的前端json反序列化失败,HTTP400
  • @JsonSerialize注解的使用