-
Spring Security - 시큐리티 설정Framework & Library/Spring Security 2021. 9. 30. 15:08
IndexController 수정
@Controller public class IndexController { @GetMapping({"", "/"}) public String index() { return "index"; } @GetMapping("/user") @ResponseBody public String user() { return "user"; } @GetMapping("/admin") @ResponseBody public String admin() { return "admin"; } @GetMapping("/manager") @ResponseBody public String manager() { return "manager"; } @GetMapping("/loginForm") public String login() { return "login"; } @GetMapping("/joinForm") public String join() { return "joinForm"; } }
ㆍ IndexController에 위 메서드를 추가한다.
ㆍ 각 메서드와 매핑된 url로 이동 시 문자열 또는 html 파일이 출력된다.
SpringConfig 생성
@Configuration @EnableWebSecurity // 스프링 시큐리티 필터가 스프링 필터 체인에 등록됨 public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.csrf().disable(); http.authorizeRequests() .antMatchers("/user/**").authenticated() // 인증 필요 .antMatchers("/manager/**").access("hasRole('ROLE_ADMIN') or hasRole('ROLE_MANAGER')") // ROLE_ADMIN, ROLE_MANAGER 권한 필요 .antMatchers("/admin/**").access("hasRole('ROLE_ADMIN')") // ROLE_ADMIN 권한 필요 .anyRequest().permitAll() // 다른 요청은 모두 허용 .and().formLogin().loginPage("/loginForm"); // 로그인 페이지의 기본 경로를 설정 } }
ㆍ config 패키지에 SecurityConfig 파일을 생성한 후 위 코드를 작성한다.
ㆍ WebSecurityConfigurerAdapter 클래스를 상속받고, configure() 메서드를 재정의 함으로써 시큐리티에 대한 설정을 수행한다.
GitHub - qlsdud0604/spring-security-basic: 스프링 시큐리티의 기초를 학습하는 공간
스프링 시큐리티의 기초를 학습하는 공간. Contribute to qlsdud0604/spring-security-basic development by creating an account on GitHub.
github.com
728x90'Framework & Library > Spring Security' 카테고리의 다른 글
Spring Security - 구글 로그인 준비 (0) 2021.10.02 Spring Security - 권한 처리 (0) 2021.10.01 Spring Security - 로그인 (0) 2021.10.01 Spring Security - 회원가입 (0) 2021.09.30 Spring Security - 프로젝트 생성 및 환경설정 (0) 2021.09.30