본문 바로가기

Spring Security

Spring Security 기본 셋팅

반응형

pom.xml에 의존성 추가

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

 

컨트롤러

@Controller
public class SampleController {

    @GetMapping("/")
    public String index(Model model, Principal principal) {
        if (principal == null) {
            model.addAttribute("message", "Hello Spring Security");
        } else {
            model.addAttribute("message", "Hello " + principal.getName());
        }
        return "index";
    }

    @GetMapping("/info")
    public String info(Model model) {
        model.addAttribute("message", "Info");
        return "info";
    }

    @GetMapping("/dashboard")
    public String dashboard(Model model, Principal principal) {
        model.addAttribute("message", "Hello " + principal.getName());
        return "dashboard";
    }

    @GetMapping("/admin")
    public String admin(Model model, Principal principal) {
        model.addAttribute("message", "Hello Admin, " + principal.getName());
        return "admin";
    }
}

 

 

스프링 시큐리티 설정

  • 해당 url에 접속할 수 있는 권한을 설정한다.
  • 스프링 부트가 제공하는 자동설정에 의해 기본 유저정보가 등록이 되어 있다.
  • id user이고
  • passwrod는 콘솔창에 나타난다. (Using generated security password: ac5db21b-22bc-4283-bc0d-eae8d8e9cf54)
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
                .mvcMatchers("/", "/info").permitAll()
                .mvcMatchers("/admin").hasRole("ADMIN")
                .anyRequest().authenticated();
        http.formLogin();
        http.httpBasic();
    }

}

 

 

유저정보를 고정

  • application.properties 파일에서 설정
spring.security.user.name=admin
spring.security.user.password=123
spring.security.user.roles=ADMIN

 

 

반응형

'Spring Security' 카테고리의 다른 글

Spring Security 테스트 - 1  (0) 2021.01.04