天天看點

SpringSecurity學習筆記(1)使用者名密碼設定

準備工作

SpringBoot與SpringSecurity的整合十分友善,隻要導入依賴即可,導入後就會自動保護所有的Controller

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

           

賬号密碼的設定方式

不手動設定使用者名密碼

以下面的Controller為例

@RestController
@RequestMapping("/user")
public class UserController {
 @GetMapping("/1")
    public String test(){
        return "hello SpringSecurity";
}
           

通路端口會自動跳轉到login頁面

SpringSecurity學習筆記(1)使用者名密碼設定

不手動的設定得情況下預設使用者名是user而密碼檢視控制台,每次啟動都會随機生成

SpringSecurity學習筆記(1)使用者名密碼設定
在配置檔案中設定

在application.yml中也可以對賬号密碼進行手動設定

spring:
 security:
    user:
      name: admin
      password: admin
           
在代碼中設定

在config中寫一個配置類如下,這裡的設定會覆寫掉配置檔案中的設定

@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Bean
    PasswordEncoder passwordEncoder(){
        //不加密方式傳回
        return NoOpPasswordEncoder.getInstance();
    }

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth.inMemoryAuthentication()
                .withUser("admin")
                .password("12345")
                .roles("admin");//後面可以跟.and()來配置多個,這裡的配置會覆寫掉配置檔案中的
    }
}
           

繼續閱讀