SpringSecurity跌坑指南

news2025/4/3 19:12:14

SpringSecurity跌坑指南

1,事情原委

这两天开始了毕业设计,但是突然发现自己的java方面的基础比较薄弱,于是决定自己从头到尾的开发一个java项目

要说跌的最惨的坑,莫过于springsecurity,如果你只是想要在项目里面配置springsecurity,思路很简单,找到一个配置好的项目,复制粘贴该部分代码

但是这个项目的复杂之错就在于:用了太多的配置

一个登录功能用到的就有:springsecurity,jwt,redis等三个配置

而最要命的是,springsecurity并不是一个靠谱的家伙,至从我这两天来的辛苦配置来看,我学习了20年的配置,照搬过来,结果出了很多莫名其妙的问题

2,问题解析

第一个问题

当我引入

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

配置的时候项目没问题,但是会对所有页面进行权限管理【而且我去配置了允许所有的访问,依旧不行,我首先怀疑是约定大于配置】苦于对springsecurity不是十分了解,我决定先放弃对它的验究,于是我取消了引入上述链接,结果离谱的是,所有引入的包都报错:离大谱了呀家人们

导致必须加上如上配置

后来了解到,因为20版本的idea默认不用maven管理【你不用maven你用什么?xx】,配置如下解决第一个问题

image-20230427205517720

第二个问题

当我配置好所有,访问受到限制【当时没解决第一个问题】:连登录(发送post信息)都要要求登录

结局如上问题后发现链接无法配置,检查如下

1,这个controller文件夹必须和application在同一级目录下面

然后我把controller写在了application里面,又能够访问了,经过检查发现,扫描包写错了

下面这个包是配置mybatisplus必须的,否则就会报错,然后我写为了@compounent(),而这个配置是用来指定controller的包的【关键我写上述配置也不报错,大无语😶】

@MapperScan("com.yang.mapper")

第三个问题

我最终还是暂时取消掉了使用springsecurity,因为:配置确实不少,而且报错了是真难找

而且这个过程中我使用了chatGPT的辅助,但是这玩意儿坑的地方就在于,它的资料库截至2021年,很多springsecurity的更新它并不知道,而且,他给的代码报错并且告诉他他也不知道

这个故事告诉我们,学会工具的使用,并了解工具的局限性非常重要,与其使劲于让gpt帮你完成任务,不如去找最新的资料,学习并自己完善,借助于其帮助学习才是应该有的程序员思维

总结

springsecurty的配置,并不是一个非常简单的操作,需要学习才能配置的足够好

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

〖ChatGPT实践指南 - 零基础扫盲篇⑦〗- 基于 Python 实现的 OpenAI-Library 的简单使用

文章目录 ⭐ python 安装 OpenAI library⭐ 创建 openai.py 进行测试⭐ openai.Completion.create() 方法的小拓展 该章节我们呢来学习一下 OpenAI-Library 的使用&#xff0c;OpenAI-Library 是 OpenAI 官方给我们提供的各种开发语言的库&#xff0c;供我们使用。在前面的章节…

【无标题】基于matlab的长短期神经网络lstm的股票预测

目录 背影 摘要 LSTM的基本定义 LSTM实现的步骤 基于长短期神经网络LSTM的股票预测 MATALB编程实现&#xff0c;附有代码 效果图 结果分析 展望 参考论文 背影 股票市场的波动十分巨大&#xff0c;由于一些不确定因素的影响&#xff0c;导致很难对股票进行投资盈利。因此&…

数据库 SQL Server 检测到基于一致性的逻辑 I/O 错误 校验和不正确 解决方法

目录 一、错误提示信息&#xff1a; 二、原因分析&#xff1a; 三、解决方法&#xff1a; 四、执行完成结果&#xff1a; 五、重要说明 一、错误提示信息&#xff1a; 本文验证是数据库中的baiduAi_0258表无法通过select语句ID条件查询&#xff0c; 如执行 select * fro…

远程桌面,openGL

x11、xserver看另一篇博客 openGL是一种规范&#xff0c;用于绘制图像 OpenGL是Khronos Group开发维护的一个规范&#xff08;也就是提供了一种接口&#xff09;&#xff0c;它主要为我们定义了用来操作图形和图片的一系列函数的API&#xff0c;需要注意的是OpenGL本身并非API。…

vscode 配置有误导致的一次Linux 崩溃

一、问题描述 1. 要实现的功能 编写一个Linux 按键驱动&#xff0c;按下按键时&#xff0c;产生中断&#xff0c;在中断中启动定时器进行防抖处理。 2. 出现的问题 在中断处理函数中&#xff0c;调用 add_timer 函数设置定时器超时函数&#xff0c;并启动定时器。编写完驱动…

【消息队列】Apache Pulsar存储计算分离

前言 对于一个互联网项目来说&#xff0c;一般除了在语言层面的技术选型外&#xff0c;也会引入各种中间件&#xff0c;比如缓存、消息队列、搜索、NoSQL等&#xff0c;但是跳出语言层面来看的话&#xff0c;其实我们庖丁解牛之后&#xff0c;每个中间件都解决了特定的问题。 …

计组 作业九

作业9 题量: 36 满分: 100 作答时间:04-27 10:56至05-10 23:59 89.5分 一. 单选题&#xff08;共18题&#xff0c;39分&#xff09; 1. (单选题, 2分)Intel80486是32位微处理器,Core是______位微处理器。 A. 16B. 32C. 48D. 64 我的答案…

20.网络爬虫—Scrapy-Redis分布式爬虫

网络爬虫—Scrapy-redis详讲 Redis的安装与使用分布式概念和作用分布式爬虫分布式爬虫特点redis的使用Redis 操作/启动 Redis Desktop Manager下载特点和架构安装和使用Scrapy-redis 代码部署spider文件 settings文件 前言&#xff1a; &#x1f3d8;️&#x1f3d8;️个人简介…

wsl2使用open3d等进行图像绘制

在~/.bashrc文件中添加两个环境变量 export DISPLAY"grep nameserver /etc/resolv.conf | sed s/nameserver //:0" export LIBGL_ALWAYS_INDIRECT0 第一行是让wsl将openGL命令&#xff08;图形绘制命令&#xff09;输出到哪里&#xff0c;也就是x-server的位置&…

【Linux】指令(上)

⭐博客主页&#xff1a;️CS semi主页 ⭐欢迎关注&#xff1a;点赞收藏留言 ⭐系列专栏&#xff1a;Linux ⭐代码仓库&#xff1a;Linux 家人们更新不易&#xff0c;你们的点赞和关注对我而言十分重要&#xff0c;友友们麻烦多多点赞&#xff0b;关注&#xff0c;你们的支持是我…

机器学习在生态、环境经济学中的应用及论文写作

近年来&#xff0c;人工智能领域已经取得突破性进展&#xff0c;对经济社会各个领域都产生了重大影响&#xff0c;结合了统计学、数据科学和计算机科学的机器学习是人工智能的主流方向之一&#xff0c;目前也在飞快的融入计量经济学研究。表面上机器学习通常使用大数据&#xf…

08_ThreadPool线程池

1. 架构说明 Java中的线程池是通过Executor框架实现的&#xff0c;该框架中用到了Executor&#xff0c;ExecutorService&#xff0c;ThreadPoolExecutor这几个类。 Executor接口是顶层接口&#xff0c;只有一个execute方法&#xff0c;过于简单。通常不使用它&#xff0c;而是…

什么是shell脚本和简单shell脚本练习

文章目录 什么是shell脚本和简单shell脚本练习什么是shell脚本为什么要学习shell脚本第一个脚本编写与执行编写第一个脚本 简单的shell脚本练习简单案例交互式脚本&#xff1a;变量内容由用户决定随日期变化&#xff1a;利用date建立文件数值运算&#xff1a;简单的加减乘除数值…

java内存占用过大分析,mat内存快照分析

背景 最近功能模块上线后&#xff0c;生产内存占用显著提升&#xff0c;查看gc日志发现年轻代频繁从2G回收到60M左右&#xff0c;猜测是在方法中频繁创建大对象导致&#xff0c;由于一时间无法通过review代码找出问题所在&#xff0c;只好将生产jvm内存快照dump后通过java mem…

Zotero+坚果云打造多设备同步的文献管理工具(保姆级教程)

Zotero坚果云打造多设备同步的文献管理工具&#xff08;保姆级教程&#xff09; 文章目录 Zotero坚果云打造多设备同步的文献管理工具&#xff08;保姆级教程&#xff09;Zotero介绍所需软件或插件实现方式步骤1&#xff1a;坚果云配置步骤2&#xff1a;Zotero配置步骤3&#x…

细讲shell中的循环语句--for语句

目录 一:何为循环 1.循环概述 2.使用循环的好处 二&#xff1a;for循环语句 1.for语句的用法 ​2. 语法结构 &#xff08;1&#xff09;一般格式 &#xff08;2&#xff09;类C语言格式 &#xff08;3&#xff09;死循环 3.事例 ​4.常用转义符 5.制作九九乘法表 三&…

旧照片修复-模糊图片变清晰-2023年度最强神器 codeformer

CodeFormer是一种基于AI技术深度学习的人脸复原模型&#xff0c;由南洋理工大学和商汤科技联合研究中心联合开发。该模型通过结合了VQGAN和Transformer等技术&#xff0c;可以通过提供模糊或马赛克图像来生成清晰的原始图像。 功能&#xff1a; 1、老照片修复 2、黑白照片彩色…

LeetCode 2641 二叉树的堂兄弟节点 II

LeetCode 2641 二叉树的堂兄弟节点 II 给你一棵二叉树的根 root &#xff0c;请你将每个节点的值替换成该节点的所有 堂兄弟节点值的和 。 如果两个节点在树中有相同的深度且它们的父节点不同&#xff0c;那么它们互为 堂兄弟 。 请你返回修改值之后&#xff0c;树的根 root …

【Auto-GPT云部署】

部署自己的Auto-Gpt 先说说什么是Chat-Gpt Chat-GPT (Generative Pretrained Transformer)是由OpenAI提出的一种自然语言处理技术&#xff0c;是基于Transformers和预训练机制的大规模语言模型。与传统的基于规则或基于统计的自然语言处理方法不同&#xff0c;Chat-GPT使用深…

【网络抓包工具】tcpdump 最新版本移植到开发板(海思平台)

目录 一、概述 二、libpcap、tcpdump源码下载 三、libpcap、tcpdump交叉编译  &#x1f449;3.1 交叉编译 libpcap  &#x1f449;3.2 交叉编译 tcpdump 一、概述 tcpdump是一个功能强大的&#xff0c;用于抓取网络数据包的命令行工具&#xff0c;与带界面的Wireshark一样&am…