您好,登錄后才能下訂單哦!
在Spring Security中配置多個(gè)HttpSecurity可以通過創(chuàng)建多個(gè)HttpSecurity實(shí)例來實(shí)現(xiàn)。每個(gè)HttpSecurity實(shí)例可以配置不同的規(guī)則、過濾器鏈和權(quán)限控制。以下是一個(gè)示例配置:
@Configuration
@EnableWebSecurity
public class MultiHttpSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.antMatcher("/admin/**")
.authorizeRequests()
.antMatchers("/admin/**").hasRole("ADMIN")
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll();
}
@Configuration
@Order(1)
public static class ApiSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.antMatcher("/api/**")
.authorizeRequests()
.antMatchers("/api/**").hasRole("USER")
.anyRequest().authenticated()
.and()
.httpBasic();
}
}
}
在上面的示例中,我們創(chuàng)建了一個(gè)MultiHttpSecurityConfig
類來配置多個(gè)HttpSecurity。configure(HttpSecurity http)
方法用于配置/admin/**路徑的權(quán)限控制和登錄頁面,而內(nèi)部的ApiSecurityConfig
類用于配置/api/**路徑的權(quán)限控制和基本身份驗(yàn)證。
通過使用@Order
注解可以指定HttpSecurity的順序,確保先匹配到更具體的規(guī)則。在這個(gè)示例中,ApiSecurityConfig
的順序比MultiHttpSecurityConfig
更小,因此/api/**路徑的規(guī)則會(huì)優(yōu)先匹配。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。