Spring
文章平均质量分 64
hkk666123
这个作者很懒,什么都没留下…
展开
-
【OAuth2】Spring Security OAuth2 授权失败(401) 问题整理
文章目录一、免登录接口校验token问题二、Token失效返回的是状态401的错误Spring Cloud架构中采用Spring Security OAuth2作为权限控制,关于OAuth2详细介绍可以参考阮一峰的网络日志理解OAuth 2.0项目中采用OAuth2四种模式中的两种,Password模式和Client模式, Password模式用于控制用户的登录,Client模式用于控制后端服务相互调用。权限架构调整后在近期发现一些问题,由于网上资料不多,只能单步调试方式看源码 (其实带着问题看源码是原创 2021-05-06 01:51:00 · 9686 阅读 · 0 评论 -
【OAuth2】Spring Security OAuth2 授权码模式
文章目录背景介绍扩展(1)`spring-security-oauth2`获取code的controller:(2)扩展的`userApprovalHandler`生效应用(1)获取code值(2)获取accessToken(有效期暂定72h)(3)获取refreshToken(4)访问资源(用户信息)背景由于业务实现中涉及到接入第三方系统(app接入有赞商城等),所以涉及到第三方系统需要获取用户信息(用户手机号、姓名等),为了保证用户信息的安全和接入方式的统一,采用Oauth2四种模式之一的授权码模式原创 2021-05-06 01:49:00 · 1401 阅读 · 0 评论 -
【OAuth2】Spring Security OAuth2 token权限隔离
文章目录背景哪里重写如何重写新版本配置凭证式权限背景由于项目OAuth2采用了多种模式,授权码模式为第三方系统接入,密码模式用于用户登录,Client模式用于服务间调用,所有不同的模式下的token需要用**@PreAuthorize("hasAuthority('client')")进行隔离,遇到问题一直验证不通过。**通过调试发现资源服务从授权服务拿到的authrities字段一直为空,StackOverFlow说低版本(项目中才2.0.15)的OAuth2实现权限隔离需要 重写UserInfo原创 2021-05-06 01:47:00 · 558 阅读 · 0 评论 -
【OAuth2】Spring Security OAuth2 源码分析
文章目录要点Server端生成token (post /oauth/token)Resource端验证token (访问受限接口)要点Spring Security OAuth2 主要有两部分功能:生成token验证token对大概的流程进行了一次梳理Server端生成token (post /oauth/token)AuthorizationServerSecurityConfigurer在配置阶段 如果允许form表单提交则会经过ClientCredentialsTokenEn原创 2021-05-06 01:45:23 · 296 阅读 · 0 评论 -
【SSO】单点登录
单点登录(SSO)单点登录流程图[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qbI9nGOc-1620236468537)(notes/SSO Flow Chart.png “单点登录(SSO)流程图”)]参考单点登录(SSO)看这一篇就够了SSO单点登录的研究...原创 2021-05-06 01:41:47 · 147 阅读 · 0 评论 -
【OAuth2】SpringCloud集成OAuth2
文章目录SpringCloud集成OAuth2要点参考SpringCloud集成OAuth2要点重点搭建OAuth2授权认证服务器、OAuth2资源服务器及OAuth2客户端服务器。其中OAuth2授权认证服务器需要重点了解自定义认证方式、自定义授权方式。其他重点内容后续再补充[oauth2源码](docs/OAuth2 code.md)sso原理参考推荐文档 12参考文档参考文档参考文档优秀源码优秀源码优秀源码优秀源码源码-feign-demoOAut原创 2021-05-06 01:39:37 · 258 阅读 · 0 评论 -
【RestTemplate】统一记录RestTemplate的调用日志
文章目录重写ClientHttpRequestInterceptor统一记录RestTemplate的调用日志参考重写ClientHttpRequestInterceptor统一记录RestTemplate的调用日志现如今比较火的微服务架构,SpringCloud顺势成为了主流框架,当然SpringCloud并不是一个框架,而是一个框架的集合。不管是否为微服务,难免会有程序之间的调用,当然zipkin可以帮助收集时间数据,解决在微服务架构下的延迟问题,如何详细记录请求以及返回的信息变得比较重要。Res转载 2021-04-30 02:22:46 · 3298 阅读 · 0 评论 -
【RestTemplate】RestTemplate访问需要OAuth2授权的服务
文章目录RestTemplate访问需要OAuth2授权的服务概述示例OAuth2.0相关配置引入依赖配置application.ymlOAuth2RestTemplate==编写OAuth2RestTemplateConfiguration(重点)==拓展参考RestTemplate访问需要OAuth2授权的服务概述随着微服务安全性的增强,需要携带token才能访问其API,然而RestTemplate默认并不会将 token 放到 Header 中,那么如何使用RestTemplate实现自动设置原创 2021-04-30 02:11:09 · 4046 阅读 · 0 评论 -
【RestTemplate】自定义 RestTemplate 异常处理
文章目录自定义 RestTemplate 异常处理RestTemplate 异常处理流程自定义 RestTemplate 异常处理参考自定义 RestTemplate 异常处理一些API的报错信息通过Response的body返回。使用HttpClient能正常获取到StatusCode和body中的错误提示。然而使用RestTemplate,会直接抛出下面的异常。如果想获取原始的信息并进一步处理会比较麻烦。org.springframework.web.client.HttpClientErrorE转载 2021-04-28 00:38:40 · 2571 阅读 · 0 评论 -
【AOP】AOP概述
文章目录简介AOP中的相关概念Pointcut匹配包匹配对象匹配参数`args()`匹配注解匹配方法Advice类型(通知类型或增强类型)参考简介首先先给出一段比较专业的术语(来自百度):在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔原创 2021-04-24 23:53:44 · 147 阅读 · 0 评论 -
【SpringBoot】Spring Boot启动流程
Spring Boot启动流程本文主体内容来自浮生半日的<Spring Boot启动流程>这篇文章.原创 2021-04-08 11:29:01 · 119 阅读 · 0 评论 -
【Mail】SpringBoot集成mail
文章目录SpringBoot集成mail核心示例代码在`pom.xml`添加`mail`依赖在`application.yml`配置mail参数调用mail服务其他参考SpringBoot集成mail核心引入jar: spring-boot-starter-mail配置yml: spring.mail.xxx调用mail服务EmailServiceImpl.javaEmailMoreServiceImpl.java示例代码在pom.xml添加mail依赖<dependen原创 2021-02-05 18:04:54 · 278 阅读 · 0 评论 -
[Redis]spring 配置 cache 缓存使用 ConcurrentMap EhCache Redis
spring cache 总结 作用:保证数据时效性的前提下, 提高查询效率; 减少查询数据库的次数, 减轻数据库压力; 原理:基于Proxy/AspectJ动态代理技术的AOP思想(面向切面编程), 在不改变目标方法的前提下在其切面进行缓存的增删改查(在服务方法执行前查询缓存, 在服务方法执行后添加缓存, 或者清除缓存); 用法: 1. spring c...原创 2018-05-03 14:43:14 · 2362 阅读 · 2 评论 -
[Redis]spring-data-redis Spring 整合 redis 做 cache xml实现
Spring整合redis做缓存1. 导包<!-- redis架包 --><dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>原创 2018-05-02 20:07:14 · 1095 阅读 · 0 评论 -
[Redis]Spring-data-Redis SpringMvc + Redis 实现 redis缓存报错处理 序列化 反序列化报错
1. 解决办法: 在所使用的 java bean xxx.xxx.Account 添加默认的构造方法 public Account(){} org.springframework.data.redis.serializer.SerializationException: Could not read JSON: Cannot construct instance of `xxx.xxx.Cl...原创 2018-05-02 19:52:06 · 2072 阅读 · 0 评论 -
[Java][IDEA]开发环境搭建, java web SSM SpringBoot+Mybatis SpringCloud等项目搭建
1. 开发环境搭建: https://blog.csdn.net/zhshulin/article/details/307798732. java环境搭建: https://blog.csdn.net/qiyei2009/article/details/669761733. web项目搭建: https://blog.csdn.net/myarrow/article/det...原创 2018-05-14 17:44:23 · 1538 阅读 · 1 评论 -
[Spring]SSM项目搭建遇到的一些问题 SpringMVC不能访问静态资源 SpringMVC响应@Response SpringMVC多视图解析器
1. SSM项目搭建 https://blog.csdn.net/gebitan505/article/details/444552352. SpringMVC不能访问静态资源解决办法 https://blog.csdn.net/sunshinezx8023/article/details/75531060 a.在web.xml中进行配置,不需要拦截的都需要配置一下 &l...原创 2018-05-23 20:50:11 · 567 阅读 · 0 评论 -
[RestTemplate] 配置 及 调用POST GET请求 demo
目录01. RestTemplate简介A). 简要说明B). RestTemplate有两个构造方法C). ClientHttpRequestFactory的两种实现02. Spring的RestTemplate对Post/Get的常用接口A). Post请求APIB). Get请求API03. 配置及使用A). 配置文件B). 测试使用附录及示例:...原创 2018-07-20 10:56:36 · 3817 阅读 · 0 评论 -
[Spring]学习 之 注解笔记
目录一. 注解学习01.@PostConstruct注解学习一. 注解学习01.@PostConstruct注解学习@PostContruct是spring框架的注解,在方法上加该注解会在项目启动的时候执行该方法,也可以理解为在spring容器初始化的时候执行该方法。/** * 功能说明:启动项目 将字典放入缓存中 */@PostConstructpubl...原创 2018-07-20 09:49:11 · 256 阅读 · 0 评论