开源微服务项目集成Knife4j——解密Knife4j

Knife4j (API接口文档系统生成工具) 不用登陆就可以查看接口请求参数。使用knife4J的项目存在安全隐患,当Knife4j地址泄露,会对目标系统造成破坏。因此访问Knife4J要进行安全认证检测。Knife4J在安全方面做了以下控制。(下面操作是在开源项目Ruoyi-cloud 实验的)

访问页面加权控制

1.1 在使用knife4j的模块下的application.yam或application.properties

application.yam 配置
knife4j:
  basic:
    enable: true
    username: test
    password: test
application.properties 配置

knife4j.basic.enable=true
## Basic认证用户名
knife4j.basic.username=zhangsan
## Basic认证密码
knife4j.basic.password=123

1.2 访问出现下面的提示,说明配置成功了(用新浏览器打开链接 才会出现提示,在原来管理后台菜单进入是不会出现。)

 

访问授权配置成功提示界面

开启生产环境,屏蔽所有资源接口(注意:需要疲敝的模块yml文件下加上!)

knife4j.production=true

2.1 配置成功的提示界面

 

屏蔽资源接口成功 提示界面

 

Knife4j 安全控制原理

3.1 knife4j.production=true 运行原理

A 启动从yaml 配置文件或其他配置文件,执行init, 读取配置参数值 进行封装。

B 访问knife4J 文档模块 执行doFilter,当production为true,并且uri为加了配置的路径,拦截返回提示 。

knife4j.production=true执行源码截图

3.2 knife4j.basic.... 配置 执行原理

跟 3.1差不多 ,就不多说了

knife4j.basic.... 配置 执行源码

knife4J 友好界面是从哪来的?

页面是在此jar包里面的如下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值