在postman上面测试接口,发送http://localhost:8000/api/UserInfo请求,报出401,该怎么解决?

作者 : admin 本文共654个字,预计阅读时间需要2分钟 发布时间: 2024-06-8 共6人阅读

问题截图:

在postman上面测试接口,发送http://localhost:8000/api/UserInfo请求,报出401,该怎么解决?插图

报401说明接口访问的权限受限,第一种解决方法是登录获取令牌,然后作为请求头发送过去获得访问权限,这里就不详细说明了,之前由记录过这种解决方法,

参考博客:http://blog.csdn.net/weixin_47128494/article/details/134781283?spm=1001.2014.3001.5502

然后现在就是提供第二种解决思路,解除这个接口的访问权限限制,让所有用户都能访问该接口;具体思路如下:

首先想要允许所有用户访问该接口,你可以在 Spring Security 的配置中针对该 URL 进行放行。你可以查看一下 Spring Security 的配置文件,确认是否有对该接口进行了权限控制,截图如下:

 在postman上面测试接口,发送http://localhost:8000/api/UserInfo请求,报出401,该怎么解决?插图(1)

可以看到mini开头的url路径访问接口全部开放,所以由两种思路,第一可以在这里配置以api开头的所有url路径全部开放,但是基于这里其它很多后端的接口都是以api开头的,所以这里就不使用这种思路了,而是找到 UserInfo的UserInfoController类,把里面的url路径改成以mini开头的,截图如下:

在postman上面测试接口,发送http://localhost:8000/api/UserInfo请求,报出401,该怎么解决?插图(2)

然后把@PreAuthorize注解注释掉,如上图所示,然后get请求就能成功访问该接口了,

如下图所示:

在postman上面测试接口,发送http://localhost:8000/api/UserInfo请求,报出401,该怎么解决?插图(3)

如果还想发送其它请求访问该接口,也需要把相关请求的 限制用户访问接口的权限@PreAuthorize注解去掉才能访问成功,如下图所示:

在postman上面测试接口,发送http://localhost:8000/api/UserInfo请求,报出401,该怎么解决?插图(4)

 在postman上面测试接口,发送http://localhost:8000/api/UserInfo请求,报出401,该怎么解决?插图(5)

上面是去掉 限制用户访问接口的权限@PreAuthorize注解前,去掉后如下图所示:

在postman上面测试接口,发送http://localhost:8000/api/UserInfo请求,报出401,该怎么解决?插图(6)

在postman上面测试接口,发送http://localhost:8000/api/UserInfo请求,报出401,该怎么解决?插图(7) 可以看到post请求已经成功

本站无任何商业行为
个人在线分享 » 在postman上面测试接口,发送http://localhost:8000/api/UserInfo请求,报出401,该怎么解决?
E-->