首页 > 其他分享 >WebMvcConfigurer 配置swagger的权限

WebMvcConfigurer 配置swagger的权限

时间:2022-12-28 22:55:23浏览次数:41  
标签:swagger excludePathPatterns springframework registry org WebMvcConfigurer import

 

 

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.*;
import org.springframework.web.servlet.view.UrlBasedViewResolver;

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {

    @Bean
    public AuthorityFilter getCheckFilter(){
        return  new AuthorityFilter();
    }

    @Override
    public void addInterceptors(InterceptorRegistry registry) {

        registry.addInterceptor(getCheckFilter()).addPathPatterns("/**")
                .excludePathPatterns("swagger-ui.html")
                .excludePathPatterns("/null/**")
                .excludePathPatterns("/swagger-resources/**")
                .excludePathPatterns("/swagger/**")
                .excludePathPatterns("/webjars/**")
                .excludePathPatterns("/v2/**")
//                .excludePathPatterns("/**/*.js")
//                .excludePathPatterns("/**/*.css")
//                .excludePathPatterns("/**/*.png")
        ;
    }

    @Override

    public void addResourceHandlers(ResourceHandlerRegistry registry) {

        registry.addResourceHandler("/**").addResourceLocations("classpath:/static/");
        registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");

        //super(registry);

    }

//    @Override
//    public void configureViewResolvers(ViewResolverRegistry registry) {
//        System.out.printf("configureViewResolvers");
//        registry.jsp("/WEB-INF/",".jsp");
//        //super.configureViewResolvers(registry);
//        ViewResolver viewResolver=new UrlBasedViewResolver();
//        registry.viewResolver(viewResolver);
//
//    }

    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addRedirectViewController(
                "/null/api-docs",
                "/api-docs").setKeepQueryParams(true);
        registry.addRedirectViewController(
                "/null/swagger-resources/configuration/ui",
                "/swagger-resources/configuration/ui");
        registry.addRedirectViewController(
                "/null/swagger-resources/configuration/security",
                "/swagger-resources/configuration/security");
        registry.addRedirectViewController(
                "/null/swagger-resources",
                "/swagger-resources");
        //WebMvcConfigurer.super.addViewControllers(registry);
    }
}

 

swagger根据环境进行启动

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import org.springframework.core.env.Profiles;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@EnableSwagger2
@Configuration
public class SwaggerConfig {

    ;
    @Bean
    public Docket webApiConfig(Environment environment){
        Profiles profiles = Profiles.of("dev","test");
        boolean flag = environment.acceptsProfiles(profiles);
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(webApiInfo())
                //.groupName("icar-web")
                .enable(flag)
                .select()
                .build();
    }

    private ApiInfo webApiInfo(){
        return new ApiInfoBuilder()
                //.title("icar-web")
                .description("API接口文档")
                .version("1.0")
                .build();
    }
}

 

标签:swagger,excludePathPatterns,springframework,registry,org,WebMvcConfigurer,import
From: https://www.cnblogs.com/zhian/p/17011466.html

相关文章

  • argocd权限控制
    查看argocd当前存在的配置[root@k8s-master01test]#kubectlgetcm-nargocdNAMEDATAAGEargocd-cm2......
  • #yyds干货盘点#nodejs 后端 token 权限问题
    话不多说,直接上代码登录接口exportdefaultclassAuthController{staticasynclogin(req,res){try{const{name,password}=req.body;if(!nam......
  • rbac权限管理
    一.概述传统权限管理:类似于这样,每新增一个人都要重新给她一些权限,是针对每个人单独设置的,这种方法已经不适用于高效管控权限的基于此,RBAC权限模型就诞生了,Role-BasedA......
  • Linux文件权限管理
    文件属性的第一列,由10个字符组成,第1个字符是文件类型,之后9个字符每3个为1组,每组里的字符代表权限。这3组称之为ugo权限,就是划分文件对应所属分组的权限。u:--user......
  • 基于微服务API级权限的技术架构
    一般而言,企业内部一套成熟的权限系统,都是基于角色(Role)的访问控制方法(RBAC–RoleBasedAccessControl),即权限(Permission)与角色相关联,用户(User)通过成为适当角色的成员而......
  • MySQL用户和权限管理
      总共28个权限:下面是具体的权限介绍:转载的,记录一下:一.权限表mysql数据库中的3个权限表:user 、db、 host权限表的存取过程是:1)先从user表中的host、 user、 password......
  • 【学生管理系统】权限管理之角色管理
    目录​​6.3角色管理​​​​6.3.1查询所有角色​​​​6.3.2核心2:给角色授予权限(菜单)​​​​6.3.3添加角色​​6.3角色管理6.3.1查询所有角色1)后端【已有】2)前端......
  • fisco和fabric权限管理的区别
    fisco和fabric权限管理的区别​​一、FISCOBCOS权限管理​​​​引言​​​​如何使用角色权限?​​​​总结​​​​二、Fabric权限管理​​​​三、二者比较​​​​参......
  • Linux档案权限不目录配置
    如何改变文件属怅不权限:chgrp,chown,chmodLinux用户身份不群组记彔的档案在我们Linux系统当中,默认的情况下,所有的系统上的账号不一般身份使用者,还有那个root的相......
  • nestjs中swagger的基本使用
    nestjs中swagger的基本使用安装$npminstall--save@nestjs/swaggerswagger-ui-express//如果使用fastify,则必须安装fastify-swagger而不是swagger-ui-express:$npm......