您可以通过以下方式限制访问swagger-ui.html:

  1. 在Spring Security配置中添加一个拦截器来限制访问swagger-ui.html。例如,您可以在WebSecurityConfigurerAdapter中添加以下代码:
@Override
protected void configure(HttpSecurity http) throws Exception {
    http.authorizeRequests()
        .antMatchers("/swagger-ui.html").hasRole("ADMIN")
        .anyRequest().permitAll()
        .and()
        .formLogin().permitAll()
        .and()
        .logout().permitAll();
}

此配置将只允许具有“ADMIN”角色的用户访问swagger-ui.html。

  1. 在Spring MVC配置中添加一个拦截器来限制访问swagger-ui.html。例如,您可以在WebMvcConfigurer中添加以下代码:
@Override
public void addInterceptors(InterceptorRegistry registry) {
    registry.addInterceptor(new HandlerInterceptorAdapter() {
        @Override
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
            String requestUri = request.getRequestURI();
            if (requestUri.endsWith("/swagger-ui.html") && !request.isUserInRole("ADMIN")) {
                response.setStatus(HttpServletResponse.SC_FORBIDDEN);
                return false;
            }
            return true;
        }
    });
}

此配置将只允许具有“ADMIN”角色的用户访问swagger-ui.html,并在其他情况下返回HTTP 403 Forbidden响应。


原文地址: https://www.cveoy.top/t/topic/y4x 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录