Druid & Swagger 未授权访问简单配置

admin 2025年5月12日08:48:48Druid & Swagger 未授权访问简单配置已关闭评论11 views字数 2603阅读8分40秒阅读模式

Druid & Swagger 未授权访问简单配置

前言

关于 Java 的 SpringBoot 服务中, 多多少少会掺和点其他服务的使用, 老生常谈的Druid & Swagger在这里做一个配置说明, 从官网中挑出来点配置放到小记里. 后续会详细总结actuator的利用.

Druid 未授权访问

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jdbc</artifactId><!--  从 parent 引入数据库扩展 --><!-- 默认 HikariDataSource --></dependency><dependency><!-- 引入 mysql 驱动, 默认是 8 版本 --><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.17</version></dependency>

引入之后我们直接在application.yml文件中进行定义即可:

server:port:80spring:datasource:url:"jdbc:mysql://127.0.0.1:3306/springboot?useSSL=true&useUnicode=true&characterEncoding=utf-8"username:"root"password:"root"driver-class-name:"com.mysql.cj.jdbc.Driver"druid:# 配置 Druid 和 监控功能stat-view-servlet:enabled:true# 开启功能login-username:druid# 配置登录用户名login-password:druid# 配置登录密码reset-enable:falseweb-stat-filter:# 开启 WEB 监控enabled:trueexclusions:"*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"# 这些都不进行监控url-pattern:"/*"# 监控所有请求, 但排除 exclusionsfilter:stat:# 配置 SQL 监控log-slow-sql:true# 开启慢查询slow-sql-millis:1000enabled:true# 开启 SQL 监控wall:# 配置 SQL 防火墙enabled:true

定义完毕后, 在配置类中声明一个Filter:

@Bean// 放在以 @Configuration 注解声明的 类 中.public FilterRegistrationBean DruidWebStatFilter(){    WebStatFilter webStatFilter = new WebStatFilter();    FilterRegistrationBean<WebStatFilter> filterFilterRegistrationBean = new FilterRegistrationBean<>(webStatFilter);    filterFilterRegistrationBean.addInitParameter("exclusions""*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");    filterFilterRegistrationBean.addUrlPatterns("/*");return filterFilterRegistrationBean;}

随后访问/druid/即可看到/druid登录界面.

Swagger-UI 未授权访问

引入:

<dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version><!-- 需要注意这里 SpringBoot 版本需要对应 2.3.12.RELEASE 版本, 否则可能出现 NullPointer 问题 --></dependency>

随后在配置类中定义一个Bean:

@Beanpublic Docket docket(){    Docket docket = new Docket(DocumentationType.OAS_30)            .apiInfo(new ApiInfoBuilder()                    .title("SpringBoot项目")                    .description("swagger学习")                    .contact(new Contact("标题""网址""邮箱"))                    .version("v1.0")                    .build()).enable(true)            .select()//apis: 添加swagger接口提取范围            .apis(RequestHandlerSelectors.basePackage("com.heihu577.controller"))            .paths(PathSelectors.any())            .build();return docket;}

随后运行一下, 访问/swagger-ui/index.html即可访问到Swagger-API调试界面.

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月12日08:48:48
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Druid & Swagger 未授权访问简单配置https://cn-sec.com/archives/4052629.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.