jhipster生成项目无法使用restful请求,报access_denied 403错误
写在前边:
我们的微服务是注册中心、uaa、gateway为基础,添加微服务应用,昨天下午在测试jhipster的增删改查,因为jhipster生成的代码都是restful的,好不容易找到网关配置的映射路径,测试get请求是可以的,但是post、put、delete都不行。查资料发现是springboot中整合的spring security的锅,点这里直接看问题解决办法
问题重现:
进入网关,本地测试:http://localhost:8080,发现微服务应用的ip映射到了/test/**路径
因为使用了spring-security,所以,请求的时候需要token,如果header中没有Cookie值,请求会被拦截,我们必须在同一个浏览器中使用postman插件,才能获取相同的token,注意打开postman的interceptor(客户端请百度参考,本人放弃治疗了……)
记得必须登录一下gateway,否则也是没有token的
使用get请求测试下:
看图片是正常的,我之前在这个微服务中的h2-console中插了几条数据,访问http://localhost:微服务应用的端口/h2-console 默认没有密码,直接点连接即可进入控制台
测试一下post请求:(忽略那个jhipster环境,啥也没配)
访问拒绝,报403错误
问题解决:
考虑到所有应用都是通过网关进行通讯的,如图
去gateway项目中查看源码,找到gateway\src\main\java\com\shunneng\gateway\config下的MicroserviceSecurityConfiguration.java
找到如图方法
在方法体最下添加代码:http.csrf().disable(); 如图
保存,ctrl+c关闭gateway项目,mvnw重启一下
效果验收:
测试一下删除,注意为防止token过期,刷新localhost:8080 页面,如未登录请登录,然后继续
尾声:
这种方法的确很好的解决了这个问题,但是这里就会导致一个问题,之前spring-security这样拦截是为了防止恶意攻击,这样所有的restful请求都放通了,可能会导致不安全。
文中修改配置文件中的放行是我自己配的,组长说这样可以保证安全,亲测无用,感觉二者并无什么区别,但是如果我没有登录这个微服务的gateway,我根本都访问不了好嘛:P
如果有更好的办法,欢迎评论拍砖!
jhipster生成项目无法使用restful请求,报access_denied 403错误的更多相关文章
- Codding.net 与 Visual Studio 项目的创建和上传 push 403错误
1.在codding项目里创建一个项目,记住http 箭头的链接 2.克隆-----第一个框放入上面保存的链接, 下面的框选择一个空文件夹,选好后 克隆就OK 3.在 第2步NewRepo2 文件夹里 ...
- sprngmvc+restFul 请求报错:404
服务端代码 control类 @RequestMapping(value="getUser",method = RequestMethod.POST) @ResponseBody ...
- express+node.js搭建的服务器和在sublimeServer下的页面请求报跨域错误
1.前端页面使用vue中的axios请求nodejs响应.报以下错误: Failed to load http://localhost:3000/users/validate: Response to ...
- 本地tp项目上传服务器报runtime/cache错误
很简单,给runtime权限777 就好了 chmod -r 777 runctime
- 接口请求报错 504 Gateway Time-out
最近程序接口请求报了一个错误,如图 很明显的请求超时,以前也没出现过这个问题,突然就报了这个错,很懵. 百度之后网上说是nginx的问题,然后突然想起来,因为业务需要我在nginx里配了接口的转发. ...
- git clone时,报403错误,完美解决方案
首先命令行操作结果如下: root@zhiren-PowerEdge-T110-II:/zrun# git clone https://git.coding.net/xxxxxxxx/xxxx.git ...
- win8安装wampserver报403错误解决方法
看着别人开始体验win8了,前几天我也安装了win8系统,总体来说还不错,但是今天安装完Wampserver后,浏览器输入localhost,竟然报了403错误,我以为我安装出错了,后来研究了半天,发 ...
- git ,报403错误,完美解决方案
首先命令行操作结果如下: root@zhiren-PowerEdge-T110-II:/zrun# git clone https://git.coding.net/xxxxxxxx/xxxx.git ...
- vue-cli项目 build后请求本地static文件中的 json数据,路径不对,报错404处理方法
vue-cli 项目 build 出错点: 1,build生成dist 放在tomcat上 报错,不显示内容 解决办法: config>index.js===>assetsPublic ...
随机推荐
- 如何配置VS使得可以通过域名或IP访问
一.前言: 在平时使用Visio Studio进行网站开发,经常会遇到一个问题.既要可以使用VS的Debug一步步跟进项目的走向,又必须是外界可以访问的.这个问题会在微信开发中非常常见,就拿微信开发中 ...
- Spring源码学习:第0步--环境准备
Spring源码现在已托管于GitHub,相比于以前直接从官网下载一个压缩包的方式来说,确实方便了不少. GitHub地址:https://github.com/spring-projects/spr ...
- python爬微信公众号前10篇历史文章(1)-思路概览
作为程序员,要时刻保持一颗好奇心和想要学习的姿态. 练习怎样利用搜狗微信爬取某指定微信公众号的历史文章.爬取微信公众号本身难度非常大,感谢搜狗提供了一个可以爬取数据的平台. 代码部分参考于: http ...
- Filecoin官方更新: Q4工作进展和2018年工作计划
ICO过后,Filecoin团队一直没有对外更新过工作计划(很多投资人都等待的不耐烦了).经过漫长的等待,在新年的第一个工作日,我们终于等来了来自于filecoin团队的声音, 这次更新真是出乎小编的 ...
- 51ak带你看MYSQL5.7源码3:修改代码实现你的第一个Mysql版本
从事DBA工作多年 MYSQL源码也是头一次接触 尝试记录下自己看MYSQL5.7源码的历程 目录: 51ak带你看MYSQL5.7源码1:main入口函数 51ak带你看MYSQL5.7源码2:编译 ...
- Java-Integer源码分析
除了两种浮点型,剩下的几种基本数据类型的包装类几乎都实现了常量池,有好处用数据的时候直接去拿,没有再去创建,坏处是在程序编译的时候就存入大量数据不管用不用到.下面是一篇很好的文章,很详细,转自:htt ...
- [Luogu 2642] 双子序列最大和
Description 给定一个长度为n的整数序列,要求从中选出两个连续子序列,使得这两个连续子序列的序列和之和最大,最终只需输出最大和.一个连续子序列的和为该子序列中所有数之和.每个连续子序列的最小 ...
- POJ-1032-拆数字
Description New convocation of The Fool Land's Parliament consists of N delegates. According to the ...
- 最小化安装CentOS7的网卡设置
实验环境:CentOS 7 Minimal Installation 64bit (1511) 最小化安装CentOS 7 后,查看网卡的信息让人很意外,因为网卡的命名规则变了,网卡的名字让人很难懂. ...
- #Python3.6.2(32位) pip安装 和 pygame 环境配置
#首先确认电脑已经安装python ,可通过在命令行下 执行 python --version确认. 1. 到 https://pypi.python.org/pypi/setuptools/ 下载 ...