- 博客(47)
- 收藏
- 关注
原创 Spring Gateway + Oauth2 + Jwt网关统一鉴权
*** @Description 自定义鉴权过滤器工厂:设置访问白名单;重新封装鉴权认证通过的请求头;*///1. 编写实现类继承AbstractGatewayFilterFactory抽象类@Component。
2023-04-19 17:40:43 2750 2
原创 Spring Security Oauth2 无法访问到资源服务接口问题分析
在搭建认证服务器,完成Spring Security Oauth2的四种模式的获取token的测试后,预示着我们已经将认证服务器搭建成功,紧接着我们搭建了一个用于测试的资源服务。相关的配置和测试接口如下。
2023-04-12 15:32:42 1799
原创 Spring Security登录后一直跳转登录页面原因分析
,主要是分析由于存在多个RequestCache对象,当资源服务器接管路径的配置不正确时,无法获取正确的RequestCache对象,导致无法得到授权码。获取授权码的时候,因为此时没有登陆,所以会将我们重定向到登录页面/login,在重定向之前还有一个动作就是缓存本次请求。既然我们是因为无法从缓存中拿到之前的请求而导致再次被重定向到登录界面的,那我们就看一下,获取缓存请求是怎么执行的?至此,我们晓得了,为什么我们得不到缓存请求,被一直重定向到登录页面,那如何解决呢?输入正确的用户名和密码,点击登录。
2023-04-11 12:10:04 4885
原创 SpringSecurityOAuth2登录后无法跳转获取授权码地址,直接跳转根路径原因详解
至于UserDetailsService、TokenConfig、ResourceServerConfig 令牌配置、AuthorityServerConfig、Controller请自行到本文开头提到的那篇文章中查看。
2023-04-10 10:40:32 2885
转载 动态扩容Linux根目录 (解决/dev/mapper/centos-root 占用了过高问题)
1. 首先,必须确保其他分区有足够的空间用来分给根目录/。可以使用以下命令查看:$ sudo df -h可以看到,这里home目录空闲的空间还很大,因此,我们将home的空间分给根目录一些。2. 扩容根目录的思路将/home文件夹备份,删除/home文件系统所在的逻辑卷,增大/文件系统所在的逻辑卷,增大/文件系统大小,最后新建/home目录,并恢复/home文件夹下的内容。3. 备份/home分区内容下面的所有命令几乎就是逐个直接复制粘贴执行,除了扩容的容量大小需要根据个人情况去调整一下。其
2021-10-26 11:12:00 250
转载 SpringBoot应用跨域访问解决方案
一、什么是跨域访问说到跨域访问,必须先解释一个名词:同源策略。所谓同源策略就是在浏览器端出于安全考量,向服务端发起请求必须满足:协议相同、Host(ip)相同、端口相同的条件,否则访问将被禁止,该访问也就被称为跨域访问。虽然跨域访问被禁止之后,可以在一定程度上提高了应用的安全性,但也为开发带来了一定的麻烦。比如:我们开发一个前后端分离的易用,页面及js部署在一个主机的nginx服务中,后端接口部署在一个tomcat应用容器中,当前端向后端发起请求的时候一定是不符合同源策略的,也就无法访问。那么我们如何解
2021-10-12 11:01:23 305
转载 跨站资源共享CORS原理深度解析
本文转载出处:字母哥博客我相信如果你写过前后端分离的web应用程序,或者写过一些ajax请求调用,你可能会遇到过CORS错误。CORS是什么?它与安全性有关吗?为什么要有CORS?它解决了什么目的?CORS是怎样运行的?如果您有这些问题,那么这篇文章非常适合您。一、什么是CORS?要了解什么是CORS(Cross-Origin Resource Sharing:跨站资源共享),首先我们需要了解什么是同源策略Same Origin Policy(SOP)。SOP是所有的现代浏览器都具备的安全措
2021-10-09 13:55:41 264
转载 互联网项目中mysql应该选什么事务隔离级别
引言开始我们的内容,相信大家一定遇到过下面的一个面试场景面试官:“讲讲mysql有几个事务隔离级别?” 你:“读未提交,读已提交,可重复读,串行化四个!默认是可重复读”面试官:“为什么mysql选可重复读作为默认的隔离级别?” (你面露苦色,不知如何回答!) 面试官:“你们项目中选了哪个隔离级别?为什么?”你:“当然是默认的可重复读,至于原因。。呃。。。” (然后你就可以回去等通知了!)为了避免上述尴尬的场景,请继续往下阅读!Mysql默认的事务隔离级别是可重复读(Repeatable Re
2021-07-21 16:24:17 136
转载 Spring事务传播行为详解
前言Spring在TransactionDefinition接口中规定了7种类型的事务传播行为。事务传播行为是Spring框架独有的事务增强特性,他不属于的事务实际提供方数据库行为。这是Spring为我们提供的强大的工具箱,使用事务传播行可以为我们的开发工作提供许多便利。但是人们对他的误解也颇多,你一定也听过“service方法事务最好不要嵌套”的传言。要想正确的使用工具首先需要了解工具。本文对七种事务传播行为做详细介绍,内容主要代码示例的方式呈现。基础概念1. 什么是事务传播行为?事务传播行为用来
2021-07-11 17:33:28 377
原创 虚拟机CentOS7忘记root密码后如何重置
前天刚装的虚拟机,关了个机,再开,密码忘了。这脑子啊,重装不划算,想办法重置root密码吧。1.泡杯茶,平复一下刚才慌乱的得一批的心情…2.启动系统进入后直接输入e,进入如下界面:3.找到linux16开头的行在行尾输入命令:rd.break4:ctrl+x运行按快捷键ctrl+x运行,进入到如下的界面第四步:挂载根为读写状态输入命令:mount -o remount,rw /sysroot6:进入sh输入命令:chroot /sysroot,进入到sh命令行7:重置密码
2021-05-09 16:48:38 343 1
原创 Springboot通过跳板机使用SSH连接数据库
小记:因为近期新开发的新系统需要调用已有老系统的数据库,但数据库服务器的所有访问都需要通过跳板机连接过去,所以只能通过SSH桥接转发的方式进行数据库访问。原理:程序在本机创建ssh连接,连接到ssh server,然后再发送数据库操作指令,指令会被转发到目标数据库服务器上,返回操作结果。1.创建SSH的连接工具类import com.jcraft.jsch.JSch;import com.jcraft.jsch.Session;import java.sql.*;import java.u
2021-02-26 11:03:27 1584 1
转载 完美解决方案-雪花算法ID到前端之后精度丢失问题
一、现象是这样的轉載自:https://www.cnblogs.com/zimug/p/13557662.html,並隆重推薦作者字母哥的微博http://www.zimug.com/下面我把异常的现象给大家描述一下,小伙伴建了一张表,表的主键是id BigINT,用来存储雪花算法生成的ID,嗯,这个没有问题!CREATE TABLE user( id BIGINT(20) NOT NULL COMMENT '主键ID', #其他字段省略);使用Long 类型对应数据库ID数
2020-11-07 10:35:52 1676 3
原创 sun.reflect.annotation.TypeNotPresentExceptionProxy
错误1:sun.reflect.annotation.TypeNotPresentExceptionProxy网上搞得比较复杂,目的不是研究它就想要处理掉,所以就没做什么断点调试。Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.2020-10-02 23:46:06.276 ERROR 6372 --- [
2020-10-03 00:10:45 11131 2
原创 Springboot改成Https请求(演示)
前提,我是在自己笔记本上做的。1.申请SSL进入到jdk安装目录的bin目录下:keytool -genkey -alias https -keyalg RSA -keystore https.keystorehttps是我起的keystore的名字。别名alias也叫https。如下是相关的命令,就是输入一些信息。D:\jdk\jdk1.8.0_152\bin>keytool -genkey -alias https -keyalg RSA -keystore https.keys
2020-09-21 15:48:38 927 1
原创 springboot中使用Filter
1.过滤器Bean注册:@SpringBootApplication //等同于 @Configuration @EnableAutoConfiguration @ComponentScanpublic class SpringbootFilterDemoApp { public static void main(String[] args) { SpringAppl...
2020-09-14 22:02:16 173
原创 Spring Boot实战:拦截器与过滤器
一、拦截器与过滤器在讲Spring boot之前,我们先了解一下过滤器和拦截器。这两者在功能方面很类似,但是在具体技术实现方面,差距还是比较大的。在分析两者的区别之前,我们先理解一下AOP的概念,AOP不是一种具体的技术,而是一种编程思想。在面向对象编程的过程中,我们很容易通过继承、多态来解决纵向扩展。 但是对于横向的功能,比如,在所有的service方法中开启事务,或者统一记录日志等功能,面向...
2020-09-14 22:00:59 141
原创 Nginx For Windows--配置负载均衡
一、下载及安装1.下载下载地址:http://nginx.org/en/download.html2.指导文档文档:http://nginx.org/en/docs/3.安装解压到没有中文的目录下即可。4.常用指令我们要配置负载均衡,所以点开第2步的指导文档《nginx for windows》看一下。首先是告诉我们如何安装和启动nginx。下面是一些其他指令。终止运行的时候记得优雅一些。二、配置负载均衡看文档《Using nginx as HTTP load balanc
2020-09-14 21:24:08 250
原创 springCloud 跨域问题处理记录
欢迎使用Markdown编辑器重点理解:不允许跨域访问并非是浏览器限制了发起跨站请求,而是跨站请求可以正常发起,但是返回结果被浏览器拦截了。问题1:项目的gateWay网关中做了跨域配置,但目测没有生效。解决方案:在网关中又加了一个配置类CorsConfig ,用来配置跨域问题。spring: cloud: gateway: globalcors: corsConfigurations: '[/**]': # 匹配所有请求
2020-08-20 14:43:37 308
原创 Duplicate entry ‘1289‘ for key ‘PRIMARY‘数据库主键冲突错误笔记
数据库主键冲突错误笔记MQ的消费方总是失败,看了一下错误是因为插入数据时主键冲突。因为是正式和测试数据库两个,看了一下其实都存在问题,所以逐个记录一下。首先,我们的主键是雪花算法32位的字符串类型,为啥雪花算法用字符串?因为之前系统都写完了,用的是32位UUID,后来非让换成雪花算法,要改的地方太多了,所以一想,id+“”完活。。。继续说异常的问题:报错的内容是Duplicate entry '1289' for key 'PRIMARY,这TM也不是我的主键啊?情况1:我测试使用的是测试数据库,
2020-08-02 13:25:40 735
原创 最适合入门的Activiti工作流零基础教程
1.数据库表import org.activiti.engine.ProcessEngine;import org.activiti.engine.ProcessEngineConfiguration;import org.activiti.engine.ProcessEngines;import org.junit.Test;import org.springframework.bo...
2020-03-21 21:16:49 628
原创 Java成长之路(一)--SpringBoot基础学习--SpringBoot打包部署
Springboot项目两种启动方式jar包直接执行;打包成war包,放到Tomcat服务下,启动Tomcat。Springboot两种打包方式打成Jar包部署执行maven打包命令或者使用IDEA的Maven工具打包## 移动至项目根目录,与pom.xml同级mvn clean package## 或者执行下面的命令 排除测试代码后进行打包mvn clean packa...
2020-02-23 20:26:08 164
原创 Java成长之路(一)--SpringBoot基础学习--SpringBoot代码测试
SpringBoot集成JUnit测试功能,进行查询用户接口测试。实现步骤:1.添加Junit起步依赖(默认就有)<!--spring boot测试依赖--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-star...
2020-02-23 20:05:49 113
原创 Java成长之路(一)--SpringBoot基础学习--SpringBoot与其他技术集成
SpringBoot与其他技术集成上一篇文章《Java成长之路(一)–SpringBoot基础学习–3种项目创建及热部署》我们说了,如何创建springboot项目。这次我们一起来学习springboot的技术整合。本文中不可能列举所有的技术整合过程,之抛砖引玉,供大家入门学习。1. 集成MyBatis使用SpringBoot整合MyBatis,完成查询所有功能。实现步骤:创建Spr...
2020-02-23 20:04:36 311
原创 Java成长之路(一)--SpringBoot基础学习--SpringBoot的配置文件
SpringBoot的配置文件有自动配置,基本全部采用默认配置是可以的。但很多时候是需要使用自定义配置的。如果想修改默认配置,可以使用application.properties或application.yml(application.yaml)自定义配置。SpringBoot默认从Resource 目录加载自定义配置文件。application.properties是键值对类型(...
2020-02-23 18:54:30 291
原创 Java成长之路(一)--SpringBoot基础学习--3种项目创建及热部署
前言:当前互联网后端开发中,JavaEE占据了主导地位。对JavaEE开发,首选框架是Spring框架。在传统的Spring开发中,需要使用大量的与业务无关的XML配置才能使Spring框架运行起来,这点备受许多开发者诟病。随着Spring4.x发布,Spring已经完全脱离XML,只使用注解就可以运行项目。为了进一步简化Spring应用的开发,SpringBoot诞生了。它是由Pivotal...
2020-02-23 18:17:27 459 1
转载 通讯框架 t-io 学习——给初学者的Demo:ShowCase设计分析
前言 最近闲暇时间研究Springboot,正好需要用到即时通讯部分了,虽然springboot 有websocket,但是我还是看中了 t-io框架。看了部分源代码和示例,先把helloworld敲了一遍,又把showcase代码敲了一遍,决定做一个总结。本篇文章并不会解释T-io是如何通讯的,而是从showcase这个给t-io初学者写的demo分析showcase的设计思路,以及为什么这...
2020-02-08 15:56:50 917
转载 新手入门:目前为止最透彻的的Netty高性能原理和框架架构解析
原作者Jack Jiang的最新工程MobileIMSDK:http://git.oschina.net/jackjiang/MobileIMSDK本文中对于源码的分析引用自:https://blog.csdn.net/TheLudlows/article/details/82961193#1_NioEventLoopGroup_291、引言Netty 是一个广受欢迎的异步事件驱动的Java...
2020-02-05 13:39:03 912
转载 RabbitMQ的死信队列详解
死信队列介绍死信队列:DLX,dead-letter-exchange利用DLX,当消息在一个队列中变成死信 (dead message) 之后,它能被重新publish到另一个Exchange,这个Exchange就是DLX。消息变成死信有以下几种情况消息被拒绝(basic.reject / basic.nack),并且requeue = false消息TTL过期队列达到最大长...
2020-01-31 20:58:51 239
转载 全局统一异常处理介绍及实战
PS: 本文讲得比较细,所以篇幅较长。 阅读时间:30m~1h。请认真读完,希望你一小时后能对统一异常处理有一个清晰的认识。1、背景软件开发过程中,不可避免的是需要处理各种异常,就我自己来说,至少有一半以上的时间都是在处理各种异常情况,所以代码中就会出现大量的try {…} catch {…} finally {…} 代码块,不仅有大量的冗余代码,而且还影响代码的可读性。比较下面两张图,看...
2020-01-29 23:25:27 1088
转载 Java 异常处理的 9 个最佳实践
无论你是新手还是资深程序员,复习下异常处理的实践总是一件好事,因为这能确保你与你的团队在遇到问题时能够处理得了它。在 Java 中处理异常并不是一件易事。新手觉得处理异常难以理解,甚至是资深开发者也会花上好几个小时来讨论是应该抛出抛异常还是处理异常。这就是为何大多数开发团队都拥有一套自己的异常处理规范。如果你初进团队,你也许会发现这些规范和你曾使用的规范大相径庭。尽管如此,这里还是有一些被大多...
2020-01-29 21:37:49 171
原创 SpringCoul2.1.7+eureka+Sleuth+zipkin+rabbitMq+mysql链路追踪实现
eureka服务端pom.xml <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eu...
2020-01-11 13:37:16 382 1
原创 SpringCloud+Sleuth+Zipkin+Mysql链路追踪实现
1.eureka-server注册中心搭建1.1pom.xml<!--注册中心--> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactI...
2020-01-06 21:24:18 702
转载 网址URL中特殊字符转义编码
字符 - URL编码值空格 - %20" - %22# - %23% - %25& - %26( - %28) - %29+ - %2B, - %...
2019-12-14 01:02:35 166
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人