Spring Security 采用httpBasic模式認證


Spring Security 學習

1. 初識Spring Security

Spring Security 是Spring提供的一套安全機制框架,對用戶訪問資源做登錄認證。

2. 搭建簡單Spring Security

創建一個基於SpringBoot框架的Web項目。

2.1 引入Maven SpringSecurity相關依賴

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-security</artifactId>
</dependency>

2.2 自定義Security Config配置類

@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        // 配置所有請求必須登錄之后才可以訪問
        /*
        	此處采用httpBasic認證模式
        */
        http.httpBasic()
                .and()
                .authorizeRequests()
                .anyRequest().authenticated();
    }
}

2.3 創建用戶查詢接口Controller

/**
 * 用戶相關
 */
@RestController
@RequestMapping("/user")
public class UserController {

    /**
     * 查詢當前用戶信息
     */
    @GetMapping("/getUserList")
    public Map<String, Object> getUserList() {
        return new HashMap<String, Object>(){{
            put("username", "張三");
            put("sex", "男");
            put("age", "20");
        }};
    }

    /**
     * 用戶登錄
     */
    @GetMapping("/login")
    public Map<String, Object> login() {
        return new HashMap<String, Object>(){{
            put("code", 200);
            put("msg", "登錄成功");
        }};
    }
}

2.4 啟動服務瀏覽器訪問下面地址

http://localhost:8080/user/getUserList

這個時候會發現彈出一個身份認證的彈出框,當不配置用戶名和密碼時,Spring Security 會默認提供

  • 用戶名為: user

  • 密碼為Console打印的一串字符串

  • 當登錄成功后即可訪問查詢用戶信息的接口

2.5 配置自定義用戶名及密碼

在application.yml中配置用戶名及密碼

server:
  port: 8080
spring:
  security:
    user:
      name: zhangsan
      password: zhangsan123


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM