springmvc限制访问swagger-ui.html
您可以通过以下方式限制访问swagger-ui.html:
- 在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。
- 在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 著作权归作者所有。请勿转载和采集!