본문 바로가기
IT/spring

스프링 시큐리티 접근 거부 페이지 처리

by 뉴코딩맨 2023. 7. 7.
스프링 시큐리티는 애플리케이션의 보안을 담당하는 강력한 프레임워크입니다. 때로는 인증되지 않은 사용자가 보안이 필요한 페이지에 접근하려고 할 때 접근을 거부해야 합니다. 스프링 시큐리티에서 접근 거부 페이지를 처리하는 방법에 대해 알아보겠습니다.
 
 

접근 거부 페이지 처리

스프링 시큐리티에서 접근 거부 페이지를 처리하는 절차는 다음과 같습니다.
  • 커스텀 접근 거부 핸들러 생성: AccessDeniedHandler 인터페이스를 구현한 커스텀 핸들러를 작성합니다.
  • 접근 거부 페이지 설정: WebSecurityConfigurerAdapter를 상속받은 설정 클래스에서 accessDeniedPage() 메소드를 사용하여 접근 거부 페이지를 설정합니다.

 

예제

다음은 스프링 시큐리티에서 접근 거부 페이지를 처리하는 예제입니다.
 
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    // ... (다른 보안 설정)

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .authorizeRequests()
                .antMatchers("/admin/**").hasRole("ADMIN")
                .antMatchers("/user/**").hasAnyRole("ADMIN", "USER")
                .anyRequest().authenticated()
                .and()
            .formLogin()
                .loginPage("/login")
                .and()
            .exceptionHandling()
                .accessDeniedPage("/access-denied");
    }
}
 
위의 예제에서는 configure() 메소드에서 accessDeniedPage() 메소드를 사용하여 접근 거부 페이지를 설정하고 있습니다. 이 예제에서는 /access-denied 경로로 접근 거부 페이지를 설정하고 있습니다.

 

 

결론

스프링 시큐리티에서 접근 거부 페이지를 처리하는 것은 애플리케이션의 보안을 강화하고 사용자에게 적절한 안내를 제공하는 중요한 요소입니다. 스프링 시큐리티의 설정을 활용하여 접근 거부 페이지를 커스터마이징하고 사용자에게 적절한 메시지를 보여줄 수 있습니다. 애플리케이션의 보안을 향상시키기 위해 접근 거부 페이지 처리를 신중하게 구현해보세요.
 

댓글