Java
文章平均质量分 96
狂盗一支梅
以前是干饭人,现在还是干饭人
展开
-
Spring Security OAuth2.0认证授权三:使用JWT令牌
Spring Security OAuth2.0系列文章:Spring Security OAuth2.0认证授权一:框架搭建和认证测试Spring Security OAuth2.0认证授权二:搭建资源服务前面两篇文章详细讲解了如何基于spring boot + oath2.0搭建认证中心和资源中心,本篇文章将会讲解集成jwt以及将客户端信息和授权码信息保存到数据库。一、 JWT1. JWT简介JSON Web Token(JWT)是一个开放的行业标准(RFC 7519),它定义了一种简介原创 2021-01-11 23:05:06 · 972 阅读 · 0 评论 -
Spring Security OAuth2.0认证授权二:搭建资源服务
在上一篇文章Spring Security OAuth2.0认证授权一:框架搭建和认证测试 详细讲解了如何搭建一个基于spring boot + oauth2.0的认证服务,这篇文章将会介绍如何搭建一个资源服务。根据oath2.0协议内容,应当有一个资源服务管理资源并提供访问安全控制。1. 引入maven依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId&原创 2021-01-11 10:35:52 · 1163 阅读 · 0 评论 -
Spring Security OAuth2.0认证授权一:框架搭建和认证测试
一、OAuth2.0介绍OAuth(开放授权)是一个开放标准,允许用户授权第三方应用访问他们存储在另外的服务提供者上的信息,而不 需要将用户名和密码提供给第三方应用或分享他们数据的所有内容。1.stackoverflow和github听起来挺拗口,不如举个例子说明下,就以stackoverflow登录为例:我们登录stackoverflow,网站上会提示几种登录方式,如下所示[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-790bhoMV-1610076310218)(原创 2021-01-08 11:27:00 · 1582 阅读 · 0 评论 -
spring-boot使用hibernate validation 对参数进行优雅的校验
springboot天生支持使用hibernate validation对参数的优雅校验,如果不使用它,只能对参数挨个进行如下方式的手工校验,不仅难看,使用起来还很不方便:if(StringUtils.isEmpty(userName)){ throw new RuntimeException("用户名不能为空");}下面将介绍hibernate validation的基本使用方法。一、引入依赖这里在springboot 2.4.1中进行实验,引入以下依赖:<parent>原创 2020-12-29 13:46:55 · 1279 阅读 · 0 评论 -
使用 transmittable-thread-local 组件解决 ThreadLocal 父子线程数据传递问题
在某个项目中,需要使用mybatis-plus多租户功能以便数据隔离,前端将租户id传到后端,后端通过拦截器将该租户id设置到ThreadLocal以便后续使用,代码大体上如下所示:ThreadLocal<Integer> threadLocal = new InheritableThreadLocal<>();threadLocal.set(1);我在Controller层使用线程池取了租户id,代码大体上如下所示:ExecutorService executorServ原创 2020-12-26 21:26:50 · 1786 阅读 · 0 评论