我在应用程序中添加了swagger ui,在下面的两个URL下方,我无需任何身份验证即可直接访问。
http://localhost:1510/swagger-ui.html
http://localhost:1510/v2/api-docs
我需要安全的网址,不希望任何人直接看到我应用程序的api详细信息。
注意:-为了进行身份验证,我在应用程序中使用具有弹簧安全性的JWT。
因此,为了保护广泛的URL,我在下面的代码中在spring seurity config ..中进行了输入
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.addFilterBefore(corsFilter, UsernamePasswordAuthenticationFilter.class)
.exceptionHandling()
.authenticationEntryPoint(problemSupport)
.accessDeniedHandler(problemSupport)
.and()
.csrf()
.disable()
.headers()
.frameOptions()
.disable()
.and()
.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and()
.authorizeRequests()
.antMatchers("/api/register").permitAll()
.antMatchers("/api/activate").permitAll()
.antMatchers("/api/userLogin").permitAll()
.antMatchers("/v2/api-docs").hasAuthority(AuthoritiesConstants.ADMIN)
.antMatchers("/swagger-ui.html").hasAuthority(AuthoritiesConstants.ADMIN)
.and()
.apply(securityConfigurerAdapter());
}
并且当我尝试访问swagger url时,我在浏览器和Eclipse控制台上都遇到异常。
org.springframework.security.authentication.InsufficientAuthenticationException: Full authentication is required to access this resource
如何传递jwt令牌来查看招摇页面?