Spring Security

Spring Security 基础原理

目录

Spring Security 基础原理

Spring Security 执行流程

OAuth2 和JWT区别与联系


Spring Security是一个企业应用系统提供声明式的安全访问控制解决方案的安全框架。

主要作用是:

  • 用户认证
  • 用户授权
  • 攻击防护

主要的实现原理是 :

  • springIOC (DI)
  • spring aop
  • 过滤器 Filter

Spring Security 执行流程

1、 首先, 当用户登录时, 前端会把用户输入的用户名、 密码信息传输到后台, 后台用一个类对象将其封装起来,通常使用的是UsernamePasswordAuthenticationToken这个类。

2、 再来, 到程序负责验证这个类对象。 验证方法是调用Service根据username从数据库中取用户信息到实体类的实例中,比较两者的密码, 如果密码正确就成功登陆, 同时把包含着用户的用户名、 密码、 所具有的权限等信息的类对象放到SecurityContextHolder(安全上下文容器, 类似Session) 中去。

3、 其次, 在用户访问一个资源的时候, 需要先判断是否是受限资源。 如果是的话还要判断当前是否未登录,没有的话就跳到登录页面。

4、 最后!如果用户已经登录, 并访问一个受限资源的时候, 程序要根据url去数据库中取出该资源所对应的所有可以访问的角色, 然后拿着当前用户的所有角色一一对比, 判断用户是否可以访问。

OAuth2 和JWT区别与联系

JWT是一种认证协议

JWT提供了一种用于发布接入令牌(Access Token),并对发布的签名接入令牌进行验证的方法。 令牌(Token)本身包含了一系列声明,应用程序可以根据这些声明限制用户对资源的访问。

OAuth2是一种授权框架

另一方面,OAuth2是一种授权框架,提供了一套详细的授权机制(指导)。用户或应用可以通过公开的或私有的设置,授权第三方应用访问特定资源。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值