12.5【Java exp4】【DEBUG】

pro1 

JwtAuthenticationFilter 类在两个不同的位置被定义了,导致Spring无法确定使用哪个定义。
为了解决这个问题,你可以采取以下几种方法之一:
检查类路径中的重复类: 确保 JwtAuthenticationFilter 类没有在多个地方被定义。检查你的项目结构,确保只有一个 JwtAuthenticationFilter 类

如果 JwtAuthenticationFilter 既被标记为 @Component,又在 SecurityConfig 中通过 @Bean 方法定义,会导致Spring容器中出现两个同名的Bean。这会引起以下问题:
Bean定义冲突:Spring容器无法确定使用哪个Bean实例,从而抛出异常。
行为不一致:即使Spring容器允许覆盖Bean定义,也可能导致行为不一致,因为两个Bean实例可能有不同的配置或状态

pro2

需要一个类型为 org.springframework.security.core.userdetails.UserDetailsService 的Bean,但Spring容器中没有找到这个Bean

为了修复这个问题,你需要在Spring配置中定义一个 UserDetailsService 类型的Bean。以下是几种常见的解决方案:
方法一:实现 UserDetailsService 接口并注册为Bean
创建一个实现 UserDetailsService 接口的类:

subpro1

Spring Boot 应用程序在尝试配置数据源时遇到了问题,具体原因是没有指定 url 属性,并且没有找到合适的嵌入式数据库驱动类

指定数据源 URL:确保在配置文件中指定了数据库的连接 URL。
添加数据库驱动依赖:确保项目的依赖中包含了相应的数据库驱动。
激活配置文件(如果适用):如果你使用的是特定的配置文件(如 application-dev.properties 或 application-prod.yml),确保这些配置文件被正确激活。

subpro2

为什么user==null始终为false?

的代码中,user == null 始终为 false 的原因在于你使用了 Optional.get() 方法来获取 User 对象。Optional.get() 方法会在 Optional 对象为空时抛出 NoSuchElementException 异常,因此在 user == null 之前,程序已经因为异常而终止执行了。
具体来说,userRepository.findByUsername(username) 返回的是一个 Optional<User> 对象。如果你直接调用 get() 方法,而 Optional 对象为空(即没有找到用户),就会抛出异常,而不是返回 null。

使用 ifPresent 或 isPresent 方法:
这些方法允许你检查 Optional 是否为空,并在不为空时执行相应的操作。
使用 orElse 方法:
这种方法允许你在 Optional 为空时提供一个默认值。

pro3

就是在yml当中数据库名字写错了,改正

pro4

问题的根本原因在于Spring Boot应用程序在启动时无法解析配置文件中的占位符app.jwtSecret。具体来说,jwtTokenProvider bean的初始化失败,因为它依赖于一个未定义的属性app.jwtSecret

在配置文件中定义app.jwtSecret:
确保在application.properties或application.yml文件中定义了app.jwtSecret。例如:

密钥长度:
SECRET_LENGTH 设置为 64 字节,这正好对应 512 位,完全符合 HS512 算法的要求。
随机数生成:
使用 SecureRandom 生成安全的随机字节数组,确保密钥的安全性。
Base64 编码:
使用 Base64.getUrlEncoder().withoutPadding() 将字节数组编码为 URL 安全的 Base64 字符串,不带填充字符,便于存储和传输。

pro5

问题出在Spring Security配置上,具体是因为没有配置CORS(跨源资源共享)相关的设置。Spring Security要求你必须配置一个corsFilter或者corsConfigurationSource来处理CORS请求。
要解决这个问题,你需要在你的安全配置类中添加CORS配置。下面是一个简单的示例,展示如何在Spring Security配置中启用CORS:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/937161.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++11语法解析(二)

可变参数模板 基本语法及原理 ・C11 支持可变参数模板&#xff0c;也就是说支持可变数量参数的函数模板和类模板&#xff0c;可变数目的参数被称为参数包&#xff0c;存在两种参数包&#xff1a;模板参数包&#xff0c;表示零或多个模板参数&#xff1b;函数参数包&#xff1…

《知识拓展 · 统一建模语言UML》

&#x1f4e2; 大家好&#xff0c;我是 【战神刘玉栋】&#xff0c;有10多年的研发经验&#xff0c;致力于前后端技术栈的知识沉淀和传播。 &#x1f497; &#x1f33b; CSDN入驻不久&#xff0c;希望大家多多支持&#xff0c;后续会继续提升文章质量&#xff0c;绝不滥竽充数…

轻量级日志管理平台:Grafana Loki搭建及应用(详细篇)

前言 Grafana Loki是Grafana Lab团队提供的一个水平可扩展、高可用性、多租户的日志聚合系统&#xff0c;与其他日志系统不同的是&#xff0c;Loki最初设计的理念是为了为日志建立标签索引&#xff0c;而非将原日志内容进行索引。 现在目前成熟的方案基本上都是&#xff1a;L…

【原生js案例】如何让你的网页实现图片的按需加载

按需加载&#xff0c;这个词应该都不陌生了。我用到你的时候&#xff0c;你才出现就可以了。对于一个很多图片的网站&#xff0c;按需加载图片是优化网站性能的一个关键点。减少无效的http请求&#xff0c;提升网站加载速度。 感兴趣的可以关注下我的系列课程【webApp之h5端实…

用于卫星影像间接RPC模型精化的通用光束法平差方法

引言 介绍了通用RPC模型的表达式&#xff0c;which has been down to death 描述了RPC模型产生误差的原因——主要与定义传感器方位的姿态角有关。 每个影像都会对应一个三维点云&#xff0c;但是对同一地物拍摄的不同影像对应出来的三维点云是不一样的&#xff0c;所以才需…

搭建Tomcat(一)---SocketServerSocket

目录 引入1 引入2--socket 流程 Socket&#xff08;应用程序之间的通讯保障&#xff09; 网卡(计算机之间的通讯保障) 端口 端口号 实例 client端 解析 server端 解析 相关方法 问题1&#xff1a;ServerSocket和Socket有什么关系&#xff1f; ServerSocket Soc…

玩转个性地图样式!蜂鸟视图蜂鸟云主题编辑器正式上线

当地图不再只是冷冰冰的数据呈现&#xff0c;而是具有美感、适应多场景需求的设计作品时&#xff0c;地图应用的价值也随之提升。 蜂鸟视图推出全新“主题编辑器”功能&#xff0c;助你轻松定制个性化地图样式&#xff0c;赋予地图更多创意与生命力&#xff01; 一、主题编辑器…

【Figma_01】Figma软件初始与使用

Figma初识与学习准备 背景介绍软件使用1.1 切换主题1.2 官方社区 设计界面2.1 创建一个项目2.2 修改文件名2.3 四种模式2.4 新增界面2.5 图层2.6 工具栏2.7 属性栏section透明度和圆角改变多边形的边数渐变效果描边设置阴影等特效拖拽相同的图形 背景介绍 Ul设计:User Interfa…

MATLAB中all,any函数的应用

all表示要查的范围内全非 0 0 0返回 1 1 1&#xff0c;否则返回 0 0 0 any表示要查的范围内有一个非 0 0 0返回 1 1 1&#xff0c;否则返回 0 0 0 向量和矩阵都可以使用&#xff0c;在矩阵中&#xff0c;可以通过1(看列)或2(看行)设置维度 a l l all all和 a n y any any函数…

.NET 9 已发布,您可以这样升级或更新

.NET 9 已经发布&#xff0c;您可能正在考虑更新您的 ASP.NET Core 应用程序。 我们将介绍更新应用程序所需的内容。从更新 Visual Studio 和下载 .NET SDK 到找出可能破坏应用程序的任何重大更改。 下载 .NET 9 SDK 这些是下载 .NET 9 SDK 所需的步骤。 更新 Visual Studi…

服务器数据恢复—热备盘上线过程中硬盘离线导致raid5阵列崩溃的数据恢复案例

服务器数据恢复环境&#xff1a; 两组分别由4块SAS接口硬盘组建的raid5阵列&#xff0c;两组raid5阵列划分LUN并由LVM管理&#xff0c;格式化为EXT3文件系统。 服务器故障&#xff1a; RAID5阵列中一块硬盘未知原因离线&#xff0c;热备盘自动激活上线替换离线硬盘。在热备盘上…

Mac上使用ln指令创建软链接、硬链接

在Mac、Linux和Unix系统中&#xff0c;软连接&#xff08;Symbolic Link&#xff09;和硬连接&#xff08;Hard Link&#xff09;是两种不同的文件链接方式。它们的主要区别如下&#xff1a; 区别&#xff1a; 硬连接&#xff1a; 不能跨文件系统。不能链接目录&#xff08;为…

PCIe学习笔记

PCIE高速串行数据总线 当拿到一块板子 比如你要用到PCIE 首先要看这块板子的原理图 一般原理图写的是 PCI express 表示PCIE 以下是Netfpga为例下的PCIE插口元件原理图 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/01dc604fbdc847e8998a978c83c7b2eb.png 一般主…

Elasticsearch Kibana (windows版本) 安装和启动

目录 1.安装 2.启动 elasticsearch 3.启动 kibana 1.安装 elasticsearch下载&#xff0c;官网链接&#xff1a; Download Elasticsearch | Elastichttps://www.elastic.co/downloads/elasticsearch kibana下载&#xff0c;官网链接&#xff1a; Download Kibana Free | G…

linux下查看nginx的安装路径

一般会安装在默认位置下&#xff1a;/usr/local/openresty/nginx 或/usr/local/nginx 查看nginx运行进程&#xff0c;mast process 后面一般是nginx 的安装目录 ps -aux|grep nginx执行ls -l /proc/进程号/exe 会打印出安装/运行位置 ps -aux|grep nginx ls -l /proc/进程号/ex…

strongswan构建测试环境

make-testing脚本文件负责构建strongswan的虚拟化测试系统。位于目录strongswan-5.9.14/testing/&#xff0c;需要以管理员身份运行make-testing。生成测试用到的虚拟客户机镜像&#xff0c;KVM虚拟机和虚拟网络的配置文件位于目录:config/kvm。 ~/strongswan-5.9.14/testing$…

以太网链路详情

文章目录 1、交换机1、常见的概念1、冲突域2、广播域3、以太网卡1、以太网卡帧 4、mac地址1、mac地址表示2、mac地址分类3、mac地址转换为二进制 2、交换机的工作原理1、mac地址表2、交换机三种数据帧处理行为3、为什么会泛洪4、转发5、丢弃 3、mac表怎么获得4、同网段数据通信…

噪杂环境(房车改装市场)离线语音通断器模块

一直在坚持&#xff0c;却很难有机会上热门&#xff0c;在现在这个以流量为导向的时代&#xff0c;貌似很难靠所谓的坚守和热爱把产品成功的推向市场了。目前的客户仍然是以老客户为主&#xff0c;应用场景主要是房车改装&#xff0c;根据九客户的需求定制化一些模块。因为没有…

Android实现RecyclerView边缘渐变效果

Android实现RecyclerView边缘渐变效果 1.前言&#xff1a; 是指在RecyclerView中实现淡入淡出效果的边缘效果。通过这种效果&#xff0c;可以使RecyclerView的边缘在滚动时逐渐淡出或淡入&#xff0c;以提升用户体验。 2.Recyclerview属性&#xff1a; 2.1、requiresFading…

操作系统(10)存储器的层次结构

前言 操作系统存储器的层次结构是一个复杂而有序的系统&#xff0c;它旨在提供不同速度、容量和成本的存储设备&#xff0c;以满足计算机系统中各种数据存取需求。 一、层次结构概述 操作系统存储器的层次结构通常包括多个层次&#xff0c;从高速到低速、从高成本到低成本排列。…