當前位置:編程學習大全網 - 編程語言 - spring boot整合security 4,怎麽設置忽略的靜態資源?

spring boot整合security 4,怎麽設置忽略的靜態資源?

Spring Security默認會對靜態文件進行攔截,這個問題在Spring MVC中也出現過,Spring MVC的解決辦法是在配置文件中加入靜態資源的引用配置,但是Spring boot + Spring Security整合中采用全註解方式,沒有配置文件,因此需要進行如下改動:

@Configuration@EnableWebSecurity@EnableGlobalMethodSecurity(prePostEnabled = true) //開啟security註解public class WebSecurityConfig extends WebSecurityConfigurerAdapter{

@Bean

@Override

protected AuthenticationManager authenticationManager() throws Exception {

return super.authenticationManager();

} @Override

protected void configure(HttpSecurity http) throws Exception { //允許所有用戶訪問"/"和"/home"

http.authorizeRequests()

.antMatchers("/home").permitAll() //其他地址的訪問均需驗證權限

.anyRequest().authenticated()

.and()

.formLogin()

.loginPage("/login") ?//指定登錄頁是"/login"

.defaultSuccessUrl("/list") ?//登錄成功後默認跳轉到"list"

.permitAll()

.and()

.logout()

.logoutSuccessUrl("/home") ?//退出登錄後的默認url是"/home"

.permitAll();

} @Override

public void configure(WebSecurity web) throws Exception { //解決靜態資源被攔截的問題

web.ignoring().antMatchers("/global/**");

}

}

Spring boot的默認靜態資源放置位置是在resource/static下,可以在static下新建壹個文件夾,然後在上述方法中指定跳過攔截的文件路徑即可。

Spring Boot:

Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。通過這種方式,Spring Boot致力於在蓬勃發展的快速應用開發領域(rapid application development)成為領導者。

Spring Security是壹個能夠為基於Spring的企業應用系統提供聲明式的安全訪問控制解決方案的安全框架。它提供了壹組可以在Spring應用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反轉Inversion of Control ,DI:Dependency Injection 依賴註入)和AOP(面向切面編程)功能,為應用系統提供聲明式的安全訪問控制功能,減少了為企業系統安全控制編寫大量重復代碼的工作。

  • 上一篇:哪些學校有電氣工程及其自動化的碩士點?
  • 下一篇:SubstancePainter的繪制流程是怎樣的?SP繪圖過程共享
  • copyright 2024編程學習大全網