【思考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中,剩下的就可以交由框架进行处理了,例如判断是否已经通过认证等。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汉子萌萌哒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值