当我们整合了Spring Security
以及OAuth2
后发现,有一些业务请求是需要开放的,因为种种原因这时访问者还没有身份标识(比如:用户刚来,还没有注册,需要进行新用户注册,这时注册业务相关的接口都应该是开放的
),下面我们来看看ApiBoot
是怎么排除路径不进行权限拦截的。
自定义OAuth2短信登录GrantType
Spring
提供的原生的OAuth2
依赖内置了几种比较常用的授权方式:password
、authorization-code
、client_credentials
、refresh_token
、implicit
等,虽然可以满足我们日常的需求,不过针对一些特殊的需求还是捉襟见肘,有点无奈,比如:微信登录
、短信登录
...,针对这一点ApiBoot
通过修改Spring OAuth2
依赖的源码,可以根据业务进行自定义添加grantType
。
见过这么简单的方式整合SpringSecurity & OAuth2的自定义查询用户吗?
SpringSecurity
整合OAuth2
是开发者公认的资源保护
、服务认证
的最佳搭配伙伴,这对好基友一直在默默的守护着应用服务的安全,根据访问者的不同角色可以颗粒度控制到具体的接口,从而实现权限的细微划分。
ApiBoot零代码整合Spring Security的JDBC方式获取AccessToken
ApiBoot Security
内部提供了两种方式进行读取需要认证的用户信息,在之前的文章中讲到过ApiBoot Security
使用内存方式(memory)
不写一行代码就可以实现用户的认证并获取AccessToken
,那我们使用JDBC
方式是不是也是这么的简单呢?
零代码整合Spring Security & OAuth2
接口服务的安全性一直是程序员比较注重的一个问题,成熟的安全框架也比较多,其中一个组合就是Spring Security
与OAuth2
的整合,在ApiBoot
内通过代码的封装、自动化配置实现了自动化整合这两大安全框架。
ApiBoot Logging Admin可视化界面管理日志
ApiBoot Logging Admin
支持界面可视化查看请求日志信息,初期版本支持查看上报日志的服务列表
、最新的链路日志
等功能,还可以整合Spring Security
配置用户名、密码
ApiBoot Logging使用RestTemplate透传链路信息
在上一篇文章【{% post_link apiboot-logging-using-openfeign-transparent-traceid %}】中我们详细的讲解了ApiBoot Logging
整合SpringCloud
通过Openfeign
进行透传链路信息,包括traceId
(链路编号)、parentSpanId
(上级单元编号)等信息。
ApiBoot Logging
不仅仅可以使用Openfeign
传递链路信息,还支持RestTemplate
方式,本篇文章来详细的讲解下具体的使用方式。
ApiBoot Logging使用SpringCloud Openfeign透传链路信息
ApiBoot Logging
可以无缝整合SpringCloud
来采集请求日志,目前支持RestTemplate
、Openfeign
两种方式,我们本章来讲解下在使用Openfeign
完成服务之间请求相互调用的一条链路请求日志是否可以都采集到。
ApiBoot Logging整合SpringCloud Eureka负载均衡上报日志
ApiBoot Logging
支持整合服务注册中心
(Eureka、Consul、Nacos Discovery、Zookeeper...)进行上报请求日志,Logging Client
会从服务注册中心内找到指定ServiceID
的Logging Admin
具体可用实例,通过SpringCloud Discovery
内部的负载均衡策略返回Logging Admin
的部署服务器IP
以及端口号
,这样Logging Client
就可以完成请求日志的上报流程。
ApiBoot Logging整合Spring Security安全上报日志
ApiBoot Logging
在上报日志时虽然是一般通过内网的形式部署,不过安全方面还是主要依赖于服务器的安全策略
(防火墙),为了提高日志上报的安全性,ApiBoot Logging
支持了整合Spring Security
来使用Basic Auth
的形式上传日志信息。