@Override
protected void configure(HttpSecurity http) throws Exception {
http
.antMatcher('/shop/**')
.authorizeRequests()
.antMatchers('/shop/login', '/shop/users/**').permitAll()
.antMatchers('/shop/mypage').hasRole('USER')
.antMatchers("/shop/admin/pay").access("hasRole('ADMIN')");
.antMatchers("/shop/admin/**").access("hasRole('ADMIN') or hasRole(‘SYS ')");
.anyRequest().authenticated()
}
설정시 구체적인 경로가 먼저 오고 그보다 큰 범위는 뒤에 오도록 해야함.
{noop}
: 스프링 암호화 알고리즘 방식중의 하나. 나중에 배움
이렇게 했을 경우,
로그인을 user
로 했을 경우, /user
페이지는 접근가능하나, /admin
관련 페이지는 접근 못함.
로그인을 admin
으로 했을 경우 모든 페이지에 로그인 가능함.
로그인을 sys
로 했을 경우, /user
페이지 접근 못함. /admin/pay
를 제외한 /admin/**
페이지 접근 가능함.
실무에서는 이 아이디와 암호 생성을 DB로 관리함.