spring security oauth2.0学习

认证流程

认证流程

授权流程

授权流程
授权代码

分布式下认证

分布式下认证

统一认证授权

统一认证

统一认证配置

客户端配置,tokenserver端配置,令牌端安全约束

统一认证配置


springcloud微服务体系(一)— 基于security和jwt实现认证及鉴权服务_BecauseSy的博客-CSDN博客_springcloud security

认证  会话  授权

认证 session 认证   token认证  区别:sessions需要服务器端保存  token不需要

授权包括  主题 资源(功能,资源) 权限  5-6张表数据模型

RBAC 基于角色(总经理)访问     基于资源(拥有查询工资权限)访问  (推荐资源)

基于session 认证  sevlet session httpselvertsession  

认证springmvc   spring context  springservlet  url mapping 配置 mvc配置 usernamepass 是否相同

会话:httpsession.setattribute  getattribute   session.validate

授权:extralist<权限>   intereceptor   prehandle   requesturl.contain()

springsecurity:

@enablewebsecurity

1.查询用户信息

2.密码编辑器

3.安全拦截机制  http.requestauth.请求拦截  登录成功和失败  loginout(已实现)

以过滤器为和核心  两个过滤器

加密策略

Bcrypt    密码+盐   check()校验

MD5

权限决策

投票机制

1个赞成

半数赞成  

全部赞成

通过验证之后 用户的所有信息都在 securityHolder.getcontext.getauth= auth

login out Handle (登出以后做事)

权限 访问地址 需要什么权限(matches.hasAuthority,hasrole) 访问方法需要什么权限

userdetailService 查询权限()permisson 数组(权限code)

校验从上到下,细节放上面。

access 方法(可以用表达式)

基于方法授权

@PreAuthorize("hasAuthority("p2")")

分布式系统:

统一认证服务

密码账号 手机 短信 二维码 人脸

session 分布式认证会有单点的问题。

token不需要存储,会携带多余的数据。

网关先对客户端的权限(商品,订单,用户service)

oauth2.0

微信  QQ  三方登录百度

百度可以从微信获取用户的信息 算登录成功 (必须通过用户本人确认)

认证服务  资源服务

spring security jwt

spring cloud oauth2

@enableAuthorizationServer  三个方法

1认证客户端 配置客户端详情服务  申请token

2管理令牌服务,令牌访问端点(url)  token怎么生成  

3安全约束 那些接口能访问那些端点  约束访问  (授权码,密码模式,客户端,单页面)

资源服务配置

jwt解决远程校验   资源和授权相同的密钥

微服务:

黑马springsecurity

SpringSecurity 整合SpringBoot结合jwt与rsa实现分布式认证授权 - if年少有为 - 博客园

你可能感兴趣的:(spring security oauth2.0学习)