swagger免token鉴权

2023-11-12

使用swagger很简单,但是在引入项目里面是由于,项目使用了Spring Security OAuth实现鉴权体系,所以浏览器访问swagger的时候一直报401,说没权限。网上的很多方案主要是两种方法:
1、鉴权时过滤指定请求,但是我没弄成功,可能是操作问题。
2、swagger请求时带token,但是我弄了好像也不行。
于是换一种思路,直接授权,自定义注解。
1、自定义注解

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@Import({SwaggerAutoConfiguration.class})
public @interface EmpEnableSwagger2 {
}

2、授权

import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.*;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spi.service.contexts.SecurityContext;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

/**
 * @author JackKing
 * swagger配置
 */
@Configuration
@EnableSwagger2
@EnableAutoConfiguration
@ConditionalOnProperty(name = "swagger.enabled", matchIfMissing = true)
public class SwaggerAutoConfiguration {

	/**
	 * 	默认的排除路径,排除Spring Boot默认的错误处理路径和端点
	 */
	private static final List<String> DEFAULT_EXCLUDE_PATH = Arrays.asList("/erro
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

swagger免token鉴权 的相关文章

  • Java多线程--深入浅出Java多线程

    深入浅出Java多线程 慕课网对应课程 深入浅出Java多线程 Java多线程基础概念 进程 程序 任务 的执行过程 动态性 持有资源 共享内存 共享文件 和线程 线程 线程是系统中最小的执行单元 同一进程中有多个线程 线程共享进程的资源
  • Java开发的打包和分发机制之jar包

    Welcome Huihui s Code World 接下来看看由辉辉所写的关于jar包的相关操作吧 一 什么是jar包 jar包 是Java Archive的缩写 它是一种用于打包Java类 资源文件 库等内容的文件格式 Jar包是一种
  • Nginx重中之重的知识点

    1 反向代理 proxy pass http baidu com location proxy pass http atcui com 代理服务器的概念 代理服务器 客户机在发送请求时 不会直接发送给目的主机 而是先发送给代理服务器 代理服
  • 架构、框架、设计模式三者的区别

    架构 框架 设计模式 对于搞IT的人来说 再熟悉不过了 那么它们三者有什么联系 又有什么区别呢 架构 架构是几个动词 是一个方法论 包含一系列活动过程和步骤 可以联想一下架构师 大数据架构师 软件架构师 首席架构师等等 他们的工作职责 就是
  • JavaSE复习:面向对象编程

    首先 面向对象 OOP Object Oriented Programming 的相对词语是面向过程 POP Procedure Oriented Programming 面向过程 强调的是功能行为 以函数为最小单位 考虑怎么做 面向对象
  • Nginx的配置(转载)

    虚拟主机与域名解析 虚拟主机是使用特殊的软硬件技术 把一台运行在因特网上的服务器主机分成一台台 虚拟 的主机 每一台虚拟主机都具有独立的域名 具有完整的Internet服务器 WWW FTP Email等 功能 虚拟主机之间完全独立 并可由
  • 面试题:两个按递增顺序排列的整数数组 nums1 和 nums2合并到nums1中,并递增排序,只允许开辟常量空间!!

    给你两个按递增顺序排列的整数数组 nums1 和 nums2 另有两个整数 m 和 n 分别表示 nums1 和 nums2 中的元素数目 请你合并 nums2 到 nums1 中 使合并后的数组同样按 递增顺序 排列 只允许开辟常量空间
  • Java 根据经纬度 角度 距离求另一个点坐标

    度换成弧度 param Float d 度 return Float 弧度 private static double rad double d return d Math PI 180 0 弧度换成度 param Float x 弧度 r
  • JSON parse error: Illegal unquoted character ((CTRL-CHAR, code 9))问题解决

    项目场景 周末在家看了公司最近上的新需求和相关代码 项目是SpringBoot框架 接口是POST类型的 问题描述 这个POST接口入参实体中有个String类型的属性rule 我在APIFox通过POST请求并debug这个接口的时候出现
  • 在运行jar包时如何替换jar内变量的值?

    在运行jar包时如何替换jar内变量的值 举个例子 1 问题描述 java程序中定义了变量String vars System getProperty aa String vars1 System getProperty aa test 把
  • maven 命令建分支步骤以及注意事项

    一 在svn创建对应的目录 branches gt 分支目录 tags gt 标签目录 当前线上项目对应的版本 trunk gt 主干目录 二 运行项目中的所有的测试用例 无报错 后 三 检查pom父级pom xml文件是否有以下配置 如无
  • Tigase开发笔记6:packet流转机制 -> 一条消息(packet)的请求和响应过程解析

    初看Tigase的packet内部流转机制一开始不是太明白 里面用到了较多的线程 代码不太看得懂 慢慢的通过一条消息的请求和响应的代码跟踪分析 搞清楚了消息流转的过程 前言 本文使用Tigase Server version 7 0 2 进
  • Java复习:IO流

    File类的使用 IO流原理及流的分类 1 I O是Input Output的缩写 I O技术是非常实用的技术 用于 处理设备之间的数据传输 如读 写文件 网络通讯等 2 Java程序中 对于数据的输入 输出操作以 流 stream 的 方
  • Spring——面向切面编程(AOP)

    1 AOP概述 AOP 并不是 Spring 框架的专属名称 它的全称是 Aspect Oriented Programming 意为 面向切面编程 在程序运行某个方法的时候 不修改原始执行代码逻辑 由程序动态地执行某些额外的功能 对原有的
  • MyBatis-Plus复杂条件查询---Example

    目录 概要 Example 类的使用 1 导入依赖 2 创建 Example 对象 3 设置查询条件 4 设置排序规则 5 执行查询 6 分页查询 总结 概要 tk mybatis mapper entity Example 是 MyBat
  • mycat实现mysql读写分离,热切换,集群

    在互联网时代 实现mysql读写分离 热切换 集群能大大提高mysql数据库访问压力 防止数据丢失 使用mycat能帮我们实现这些 我们要实现的是这种架构 1 Mycat能实现数据库的垂直切分和水平切分 这里用户写数据的时候 通过mycat
  • 【Javadoc生成开发文档(Terminal或IDEA中)】

    Javadoc生成开发文档 一 Javadoc工具介绍 二 常用标记 三 使用方式 四 生成文档的两种方式 1 Terminal方式 2 IDE方式 一 Javadoc工具介绍 大家在查看官网文档的时候 会不会感慨人家的帮助文档写的真有逻辑
  • 子类加@Data后,IDEA调试时“出现”父类属性无值

    项目场景 自测一个功能的时候 IDEA调试同过对象的VIEW查看对象内容 发现加了 Data的返回子类型中父类的属性没有出现 问题描述 父类Response中的返回VO对象 Data public class PVO private Sti
  • bootstrap使用之stickUp(固定导航栏)

    1 stickUp是jQuery下的一个导航栏插件 当界面较长时 导航栏会固定在顶部 不会移动 如下图 2 废话少说 下载http www bootcss com p stickup 在里面有示例文档 只是注意看index的时候js写在下面
  • SOFA Boot 整合SOFA RPC 、SOFA Registry

    参考资料 https www wenjiangs com doc dc7xvpxh https www sofastack tech projects sofa rpc getting started with rpc SOFA Stack

随机推荐

  • 来点动力吧,存够300W退休

    这样写也可以 11年后退休 加油吧
  • pytorch学习总结(一)(SGD随机梯度下降、学习率调整策略、train模式)

    看了几个月的理论 总算是开始实践了 学习了几个月 这门学问中数学的应用还挺有意思的 比现在的工作有意思多了 1 torch optim SGD trainer torch optim SGD net parameters lr lr mom
  • linux怎么用代码做扣扣,如何在Linux上安装程序员喜爱的文本编辑器NotepadQQ

    原标题 如何在Linux上安装程序员喜爱的文本编辑器NotepadQQ 来自 Linux迷 链接 https www linuxmi com pop os 20 04 ubuntu html NotepadQQ是一个令人兴奋的应用程序 它试
  • 王垠的40行代码,究竟diao在哪里

    王垠是谁 不用我说了吧 别傻谈 亮码瞧 A simple CPS transformer which does proper tail call and does not duplicate contexts for if expressi
  • element-ui el-table 如何实现合并单元格

    el table的组件的可以合并单元格 先定义参数span method 方法objectSpanMethod 在方法内控制当前单元格渲染成几个单元格或者删除掉当前单元格 比如 代码中定义 span method objectSpanMet
  • Frameset布局

    原文地址 http captaincook iteye com blog 365634
  • angularjs 1.6.x 教程学习心得

    依赖注入 依赖注入是angularJs的核心 应用启动时 angular会创建一个injector 它会寻找并注入所有应用需要的服务 必须先被正确的定义 延迟实例化 lazily instantiate providers Provider
  • vsftpd主动模式和被动模式

    vsftpd主动模式和被动模式 主动模式 PORT 所谓主动模式 指的是FTP服务器主动去连接客户端的数据端口来传输数据 其过程具体来说就是 客户端从一个任意的非特权端口N N gt 1024 连接到FTP服务器的命令端口 即tcp 21端
  • 看看UE4源码: Pawn中默认InputComponent是控制器还是Pawn的

    Pawn中的InputComponent是谁的 结论 默认情况下 如果Pawn首次被PlayerController控制 则会在Pawn中创建一个InputComponent 写在Pawn中SetupPlayerInputComponent
  • 数据结构编程视频

    来源 我是码农 转载请保留出处和链接 本文链接 http www 54manong com cate 3 数据结构与算法是计算机专业一门相当重要的专业必修课 同时数据结构与算法也是电气电子类等一些需要涉及到编程的专业学生一门很重要的基础课程
  • WVP+ZLMediaKit+MediaServerUI实现摄像头GB28181推流播放录制

    本文主要介绍使用 WVP ZLMediaKit MediaServerUI 实现通过 GB28181 进行海康 大华 宇视等品牌的 IPC NVR DVR 接入 完成摄像头监控播放 控制 录制 准备工作 服务运行环境 Linux OS X
  • 分布式缓存原理----Hash环/一致性Hash原理/Hash槽

    Memcached 为分布式客户端做分发 hash环 TWY Redis 为分布式客户端做分发 hash环 Redis Cluster 点对点 2Khash槽 当前 Memcached Redis这类分布式kv缓存已经非常普遍 从本篇开始
  • Java jackson配置类,Java jackson工具类,SpringBoot Jackson类配置

    Java jackson配置类 Java jackson工具类 SpringBoot Jackson类配置 Copyright 蕃薯耀 2021 04 27 https blog csdn net w995223851 一 SpringBo
  • 第十八章 Post-Processing

    第十八章 Post Processing Post processing是指在场景渲染之后 使用一些图形技术对场景进行处理 比如 把整个场景转换为grayscale 灰度 样式或使场景中明亮的区域发光 本章将编写一些post process
  • 项目开发的前期准备(二)

    项目开发的前期准备 二 时序图用于描述对象之间的传递消息的时间顺序 即用例中的行为顺序 当执行一个用例时 时序图中的每条消息对应了一个类操作或者引起转换的触发事件 在 UML 中 时序图表示为一个二维的关系图 其中 纵轴是时间轴 时间延竖线
  • Selenium clear()方法无法清掉数据

    今天遇到了Selenium clear 方法无法清掉数据的问题 问题描述 页面看着清空了数据 保存时候还是存在 解决方法 WebElement ballast browser getWebDriver findElement By xpat
  • Qt之界面样式

    1 窗口 最小化 最大化 关闭按钮 显示状态自定义 setWindowFlags Qt CustomizeWindowHint setWindowFlags Qt WindowCloseButtonHint 只要关闭按钮 setWindow
  • NeuralNLP-NeuralClassifier的使用记录(一),训练预测自己的【英文文本多分类】

    NeuralNLP NeuralClassifier的使用记录 训练预测自己的英文文本多分类 NeuralNLP NeuralClassifier是腾讯开发的一个多层多分类应用工具 支持的任务包括 文本分类中的二分类 多分类 多标签 以及层
  • 存档&改造【01】模板导入&租户登录

    app101改造之前 想搞一个设备导入功能 想象中 实际上 再改改样式 关于数据的导入导出 可见博客 APEX数据源加载实现Excel表数据导入及自定义存储过程 王小小鸭的博客 CSDN博客https blog csdn net clove
  • swagger免token鉴权

    使用swagger很简单 但是在引入项目里面是由于 项目使用了Spring Security OAuth实现鉴权体系 所以浏览器访问swagger的时候一直报401 说没权限 网上的很多方案主要是两种方法 1 鉴权时过滤指定请求 但是我没弄