권한설정과 표현식

@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로 관리함.

좋은 웹페이지 즐겨찾기