SpringBoot 401 Unauthorized问题解决方案

17 篇文章 1 订阅
订阅专栏

SpringBoot 401 Unauthorized问题

使用浏览器访问接口,自动跳转到的页面

@Api("用户信息管理")
@RestController
@RequestMapping("/test")
public class TestController extends BaseController
{
    private final static Map<Integer, UserEntity> users = new LinkedHashMap<Integer, UserEntity>();
    {
        users.put(1, new UserEntity(1, "admin", "admin123", "15888888888"));
    }

    @ApiOperation("获取用户列表")
    @GetMapping("/list")
    public AjaxResult userList()
    {
        List<UserEntity> userList = new ArrayList<UserEntity>(users.values());
        return AjaxResult.success(userList);
    }
}

使用浏览器访问接口,自动跳转到的页面

{
    "timestamp": "2021-07-19T19:50:05.607+0000",
    "status": 401,
    "error": "Unauthorized",
    "message": "Unauthorized",
    "path": "/test/list"
}

使用浏览器访问接口,自动跳转到的页面

image-20210720042117171

最终找到问题所在,是导入了Spring-security包的问题

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

当我们使用了Spring-security 之后,Spring Security默认对所有路径进行权限认证,并且提供默认的登陆页面。如果系统最终没有使用到Spring Security,将该依赖移除即可解决问题;如果系统确实需要使用Spring Security,那么可以自定义路径鉴权方式:

@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity httpSecurity) throws Exception {
        httpSecurity.authorizeRequest()              
            // 直接放行
            .antMatchers("/auth/**", "/error/**", "/dev/**").permitAll()
            // 权限认证
            .anyRequest().authenticated();
    }
}

Spring Security默认的configure(HttpSecurity httpSecurity)实际上等同于如下配置:

    @Override
    protected void configure(HttpSecurity httpSecurity) throws Exception {
        httpSecurity.authorizeRequest()
            // 对所有http请求进行权限认证
            .anyRequest().authenticated().and()
            // 支持基于表单的登陆
            .formLogin().and()
            // 支持基于Basic方式的认证
            .httpBasic();
    }

gin().and()
// 支持基于Basic方式的认证
.httpBasic();
}


同时,由于没有重载configure(AuthenticationManagerBuilder),所有系统没有用户存储支撑认证过程,所以系统相当于没有用户,所以没有人可以认证成功。
【项目实战】常见的HTTP状态码(401 - Unauthorized
本本本添哥
11-24 1万+
400 Bad Request是一种HTTP状态码。400 Bad Request" 是一个常见的HTTP错误代码400 Bad Request是在打开网页时,服务器返回到客户端的一种状态码。400 Bad Request显示在客户端的,也就是400页面。
100 spring-security 中 /oauth/token 发送请求不携带参数 报错 “401 Unauthorized
970655147的专栏
03-06 1310
前言 最近存在这样的一个问题, 大致的复现方式是 访问 /oauth/token 接口, 然后不携带任何参数, 结果 服务器抛出了一个 "401 Unauthorized" 针对这个 401, 这里 梳理一下这个流程, 也会衍生出一些其他的问题 测试用例 客户端这边大致的情况是 构造参数, 然后发送请求, 上面两个 参数封装到查询字符串的请求是可以正常处理 后面两个 未携带参数 的请求发送, 报错 "401 Unauthorized" 我们这里主要关心 这里的未携带参数 的异常场...
HTTP代理出现401错误的原因及解决办法
syhttp的博客
08-16 1万+
HTTP代理出现401 Unauthorized错误代码通常表示请求需要进行身份验证,但请求未提供有效的身份验证信息。文章分析了出现401错误代码的原因及解决方法。
“status“: 401, “error“: “Unauthorized“, “message“: “Unauthorized“, “path“: “/hello“
最新发布
NBlinge的博客
05-28 167
401错误,HTTP 状态码为 401,即未经授权。因为引入了security依赖。
Springboot 访问接口返回401状态码解决方案
weixin_45703665的博客
12-13 1万+
访问接口直接返回401状态码: 使用浏览器访问,会直接跳转到 localhost:8866/login页面 应该是项目使用了 security的相关包,由于Springboot的安全策略默认是开启的,所以导致我们访问所有的接口都没有权限。 解决方案: 在application.properties文件中添加配置信息: management.security.enabled=false ...
请求因HTTP状态401失败:Unauthorized 的原因?
热门推荐
qq_43159578的博客
03-18 10万+
HTTP401错误原因:用户没有访问权限,需要进行身份认证。 任何客户端 ( 例如您的浏览器) ,都需要通过以下循环:从站点的 IP 名称 ( 即您站点的网址-URL, 不带起始的 ‘http://') 获得一个 IP 地址。这个对应关系 ( 即由 IP 名称向 IP 地址转换的对应关系 ) 由域名服务器 (DNSs) 提供。 打开一个 IP 套接字 (socket) 连接到该 IP 地址。通过该套接字写 HTTP 数据流。从Web服务器接受响应的 HTTP 数据流。该数据流包括状态编码, 其值取决于
springboot升级导致请求401
qq_41307221的博客
10-17 669
【代码】springboot升级导致请求401
SpringBoot项目访问任意接口出现401错误的解决方案
一位菜鸡的博客
02-06 3303
SpringBoot项目访问任意接口出现401错误的解决方案
详解关于springboot-actuator监控的401无权限访问
08-29
在本篇文章中,我们详解了Spring Boot Actuator监控的401无权限访问问题,并提供了相应的解决方案。我们还介绍了常见的endpoint和其功能,为读者提供了更好的理解和应用Spring Boot Actuator的能力。
微信公众号 提示:Unauthorized API function 问题解决方法
09-01
主要介绍了微信公众号 提示:Unauthorized API function 问题解决方法的相关资料,这里提供了出现提示的解决方法,需要的朋友可以参考下
Stop-401-Unauthorized-
05-10
标题 "Stop-401-Unauthorized-" 暗示了一个关于身份验证问题的错误,通常在Web开发中,特别是涉及到JWT(JSON Web Tokens)时,401 Unauthorized响应表示请求未通过适当的授权。在这个场景中,我们将深入探讨JWT在...
使用Angular、AngularDevise和AngularUI从401Unauthorized响.zip
04-06
标题 "使用Angular、AngularDevise和AngularUI从401Unauthorized响应中恢复" 涉及到的是在Web开发中处理认证和授权问题的技术。在这个场景中,Angular是一个流行的前端JavaScript框架,用于构建动态和交互式的单页...
SpringBoot 401 Unauthorized问题
qq_39323945的博客
02-22 2076
当我们使用了Spring-security 之后,Spring Security默认对所有路径进行权限认证,并且提供默认的登陆页面。如果系统最终没有使用到Spring Security,将该依赖移除即可解决问题
详细分析浏览器终端出现401 Unauthorized的解决方法
码农研究僧的博客
04-19 1886
对于这类问题,其实很显然就是访问的资源需要身份验证,但是没有提供有效的凭据
http访问springboot接口出现401 、403、 Forbidden 错误解决方法
liu_yulong的专栏
02-16 1万+
出现401可能是框架中添加了 spring-boot-starter-security ,这时候需要进行http请求降级处理 Spring Boot 1.x中的配置 management.security.enabled=false 可以 Spring Boot 2.x中的management.security.enabled=false无效问题,编写 SecurityConfig 继承 ...
springSecurity的快速入门
weixin_40724414的博客
08-21 283
快速入门 1、导入依赖 <dependencies> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-web</...
Spring Security请求oauth/token接口报401 Unauthorized
qiujing0907的博客
01-04 8809
我出现报错的原因就是这个passwordEncoder的实例类发生了变动,因为pom中依赖版本升级,导致这个密码编码器在高版本中发生了改变,由原来的明文编码器变为了hash编码器。返回的,请求并没有到达路径对应接口就返回了,我并没有了解过spring security中过滤器具体有哪些,所以不太好打断点,这导致我浪费很多的时间。不废话,原因是走了下边过滤器的这段代码(注意,这是我的项目,走的该Filter,自己的项目还需要结合实际情况来)。密码编码器比对参数中的凭证,与抽象类中获取的凭证信息是否一样。
解密HTTP错误码401 Unauthorized:探索身份验证的奥秘
博客
08-15 9281
HTTP身份验证是Web应用程序中常用的一种安全机制,用于验证用户的身份并控制对资源的访问。它通过在客户端和服务器之间传递身份验证凭证来完成身份验证过程。摘要身份验证是一种更安全的身份验证方法。它使用摘要算法对用户名、密码和其他参数进行加密,以确保身份验证凭证的安全性。HTTP错误码401 Unauthorized是一种常见的错误码,表示客户端请求未经身份验证或身份验证失败。
SpringBoot Actuator unauthorized access表示什么意思
07-11
"Spring Boot Actuator unauthorized access" 表示未经授权的访问尝试对 Spring Boot Actuator 进行访问。 Spring Boot Actuator 是 Spring Boot 提供的一个功能强大的管理和监控端点集合,用于监控和管理应用程序。这些端点可以提供应用程序的健康状况、度量信息、配置属性等。但是,如果没有适当的安全配置,这些端点可能会对应用程序的安全性构成风险。 当出现 "Spring Boot Actuator unauthorized access" 的情况时,意味着有未经授权的用户或攻击者尝试访问 Actuator 端点,而没有提供有效的身份验证或权限验证。这可能会暴露应用程序的敏感信息或让攻击者执行一些可能有害的操作。 为避免未经授权的访问,需要适当地配置 Spring Boot Actuator 的安全性。可以通过配置身份验证、授权策略和角色访问控制来限制对 Actuator 端点的访问。确保只有授权的用户或系统可以访问这些端点,以保护应用程序的安全性。
写文章

热门文章

  • Public Key Retrieval is not allowed(解决方式) 75065
  • 【Pytorch】pytorch安装(包含cuda详细安装教程) 50176
  • mac 电脑如何从双系统恢复原mac系统,无需u盘一键重新安装macos 29190
  • SpringBoot 401 Unauthorized问题解决方案 26787
  • Docker最新超详细版教程通俗易懂(基础版) 15606

分类专栏

  • Docker 3篇
  • 微服务 2篇
  • PostgreSQL/GaussDB 3篇
  • Node 1篇
  • Python 35篇
  • 算法设计 2篇
  • 数据结构 1篇
  • cesium 1篇
  • hugo 2篇
  • word
  • ppt
  • openlayers
  • 百度地图
  • Idea 1篇
  • Latex
  • Hexo 9篇
  • Redis 2篇
  • Echars 1篇
  • Macos 10篇
  • Maven 1篇
  • Pytorch 5篇
  • Arcgis 1篇
  • 机器学习
  • SpringBoot 17篇
  • Windows 8篇
  • 前端 4篇
  • MySQL 8篇
  • Java 16篇
  • 设计模式 4篇
  • Linux 10篇
  • Git 10篇

最新评论

  • 使用TPDSS连接GaussDB数据库

    指尖听戏: 文章中的链接失效了,可能就没了,我上次整理了下网盘

  • 使用TPDSS连接GaussDB数据库

    指尖听戏: 好像没有云盘

  • 使用TPDSS连接GaussDB数据库

    gz727: 云盘共享下载吗?

  • 阿里云ECS服务器安装Nginx

    杨氏985: 这个版本编译报错。用1.24.0可以通过

  • 【Pytorch】pytorch安装(包含cuda详细安装教程)

    指尖听戏: 这个可能是你python环境没有找到呀

大家在看

  • 面试场景题系列--(1)如果系统的 QPS 突然提升 10 倍该怎么设计?--xunznux
  • 洛谷 A-B数对 256
  • 联邦学习研究方向及论文推荐(二) 103
  • [python][爬虫]获取全球港口航线数据 21
  • 最新ai治愈动态插画玩法,操作简单,小白也能轻松入手

最新文章

  • Windows和Linux环境中安装RocketMQ并集成SpringBoot进行本地测试
  • Windows和Linux环境中安装Zookeeper具体操作
  • Windows中安装nvm进行Node版本控制与详细使用教程
2023年7篇
2022年29篇
2021年86篇
2020年31篇

目录

目录

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

指尖听戏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

PHP网站源码南山百度竞价石岩网站推广方案坂田百姓网标王坑梓seo平湖企业网站改版东莞关键词按天扣费沙井百度网站优化排名荷坳高端网站设计坑梓优化观澜百搜标王大芬百度竞价大芬网站制作设计观澜阿里店铺运营民治百度竞价包年推广民治高端网站设计爱联网站制作木棉湾seo网站推广大芬seo网站推广广州网站制作松岗网页制作爱联百搜词包坪地网站排名优化南澳百姓网标王推广坪山网站优化推广坪山阿里店铺运营宝安至尊标王大浪网站搜索优化罗湖seo优化沙井营销型网站建设西乡网络广告推广歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化