RESTful

Spring security 기초

당근개발자 2022. 1. 17. 00:57
	implementation 'org.springframework.boot:spring-boot-starter-security'

해당 라이브러리를  추가한다.

 

하고 실행을하면.

콘솔에 다음과 같이 security password가 뜬다.

 

이제, 아무리 api를 요청해도 401 에러가 뜬다.

 

이를 해결하기 위해서는 

header에 Authorization -> type -> basic Auth

 

username에는 user

password에는 방금 위에 패스워들 넣으면

값들이 정상적으로 반환이된다.!!

 

또한 내가 username과 password를 설정할 수도있다.

application.properties에서 다음과같이 설정하자.

spring.security.user.name=username
spring.security.user.password=pass

 

다음은 config파일을 만들어서 설정을 해보겠다.

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration;


@Configuration
public class SecurityConfig extends WebSecurityConfiguration {

    @Autowired
    public void configGlobal(AuthenticationManagerBuilder auth)
    throws  Exception{
        auth.inMemoryAuthentication()
                .withUser("guest")
                .password("{noop}test1234")
                .roles("USER");
    }

}

여기서 {noop}은 한글이 인코딩되지 않도록 방지하는 역할이다