中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

SpringBoot怎么整合SpringSecurity實現認證攔截

小億
102
2024-01-23 12:14:15
欄目: 編程語言

要在Spring Boot項目中整合Spring Security實現認證攔截,你可以按照以下步驟操作:

  1. 添加Spring Security依賴:在pom.xml文件中添加Spring Security的依賴。

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    
  2. 創建Spring Security配置類:創建一個繼承自WebSecurityConfigurerAdapter的配置類,用于配置Spring Security。

    import org.springframework.context.annotation.Configuration;
    import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
    import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
    
    @Configuration
    @EnableWebSecurity
    public class SecurityConfig extends WebSecurityConfigurerAdapter {
    
    }
    
  3. 配置認證和授權規則:在配置類中重寫configure()方法,配置認證和授權規則。

    import org.springframework.security.config.annotation.web.builders.HttpSecurity;
    
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .authorizeRequests()
                .antMatchers("/public/**").permitAll()
                .anyRequest().authenticated()
                .and()
            .formLogin()
                .loginPage("/login")
                .permitAll()
                .and()
            .logout()
                .permitAll();
    }
    
  4. 創建登錄頁面:創建一個登錄頁面,例如login.html。

  5. 配置用戶信息和密碼加密:在配置類中重寫configure()方法,配置用戶信息和密碼加密方式。

    import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
    import org.springframework.security.crypto.password.PasswordEncoder;
    
    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth
            .inMemoryAuthentication()
                .withUser("admin")
                .password(passwordEncoder().encode("admin123"))
                .roles("ADMIN");
    }
    
    @Bean
    public PasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder(); // 使用BCryptPasswordEncoder進行密碼加密
    }
    
  6. 配置忽略靜態資源:在配置類中重寫configure()方法,配置忽略靜態資源的訪問限制。

    import org.springframework.security.config.annotation.web.builders.WebSecurity;
    
    @Override
    public void configure(WebSecurity web) throws Exception {
        web
            .ignoring()
            .antMatchers("/css/**", "/js/**", "/images/**");
    }
    
  7. 運行項目并測試:啟動Spring Boot項目并訪問需要認證的資源,系統將跳轉到登錄頁面,輸入用戶名密碼即可完成認證。

這樣就完成了Spring Boot整合Spring Security實現認證攔截的配置。你可以根據需要進行相應的定制和擴展。

0
峨眉山市| 内黄县| 宿松县| 甘洛县| 万荣县| 华容县| 镇巴县| 年辖:市辖区| 鄂伦春自治旗| 颍上县| 泽普县| 河池市| 获嘉县| 尤溪县| 澜沧| 广水市| 乃东县| 阳泉市| 石泉县| 饶阳县| 德清县| 乐山市| 桑植县| 蓬溪县| 沂源县| 竹山县| 新乡县| 株洲县| 鄂伦春自治旗| 赣州市| 漠河县| 康平县| 福贡县| 宜城市| 教育| 三原县| 阿鲁科尔沁旗| 东阳市| 晴隆县| 辽宁省| 蒙阴县|