javascript
java403forbidden_java – Spring boot – 返回403 Forbidden而不是重定向到登录页面
在Spring Boot Web應(yīng)用程序中,我有以下安全配置:
@Override
public void configure(HttpSecurity http) throws Exception {
// @formatter:off
http
.headers().frameOptions().disable()
.and()
.antMatcher("/**").authorizeRequests()
.antMatchers("/actuator/health").permitAll()
.antMatchers("/actuator/**").hasAuthority(Authority.Type.ROLE_ADMIN.getName())
.antMatchers("/login/**").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.loginProcessingUrl("/login")
.failureUrl("/login?error").permitAll()
.and()
.logout()
.logoutRequestMatcher(new AntPathRequestMatcher("/logout"))
.logoutSuccessUrl("/login?logout")
.and()
.csrf().csrfTokenRepository(csrfTokenRepository())
.and()
.addFilterAfter(csrfHeaderFilter(), CsrfFilter.class)
.addFilterBefore(ssoFilter(), BasicAuthenticationFilter.class);
// @formatter:on
}
現(xiàn)在,當(dāng)我嘗試訪問例如以下url:/api/v1.0/user時,它會將我重定向到/ api / login頁面.
如何配置這個以便返回403 Forbidden而不是重定向到登錄頁面?
解決方法:
這是一個社區(qū)答案:
問題:
禁止的URL返回登錄頁面內(nèi)容(而不是403狀態(tài)代碼).
我有這個代碼:
...
http.authorizeRequests().antMatchers("/uri/**").hasAuthority("SOME_ROLE");
改變了Tong的建議:
...
http.exceptionHandling().authenticationEntryPoint(new Http403ForbiddenEntryPoint());
http.authorizeRequests().antMatchers("/uri/**").hasAuthority("SOME_ROLE");
標(biāo)簽:java,spring-mvc,spring,spring-security,spring-boot-2
來源: https://codeday.me/bug/20190623/1269321.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的java403forbidden_java – Spring boot – 返回403 Forbidden而不是重定向到登录页面的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: linux 定时器 代码,linux C
 - 下一篇: qt中使用QStringLiteral宏