Framework/Spring Boot

Spring Security 기본 로그인 화면 제거

잔망루피 2021. 11. 2. 21:59

Spring Security를 사용하면 처음에 로그인 화면이 뜬다.

내가 원하는 url을 쳐도 안 넘어간다..

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity httpSecurity) throws Exception{
        httpSecurity.httpBasic().disable();
    }

}

import 부분은 제외하고 가져왔다.

이렇게 하니 사라졌다!!

이 방법 말고 아래의 방법을 쓰자. 

 

 

✨ URL에 따라 인증된 사용자만 접근하도록 하기

@Override
    protected void configure(HttpSecurity http) throws Exception{
        http
                .csrf().disable()
                .authorizeRequests()
                    .antMatchers("/", "/user/availability/**").permitAll()
                    .anyRequest().authenticated()
                    .and()
                .formLogin()
                    .loginPage("/user/login")
                    .permitAll()
                    .and()
                .logout()
                    .permitAll();
    }

SecurityConfig 클래스에 다음과 같은 메소드를 작성했다.

.antMatchers("/", "/user/availability/**").permitAll()은 해당 URL은 인증 없이도 접근 가능하다.

/**/user/availability로 시작하는 URL들을 의미한다.

/*와 /**는 다르다. /user/availability/a/b는 /**만 매핑되고 /*에는 매핑이 안 된다.

.loginPage("/user/login")에 로그인 페이지 URL을 지정해준다.

 

 

 

👇 참고

https://spring.io/guides/gs/securing-web/

 

Spring | Home

Cloud Your code, any cloud—we’ve got you covered. Connect and scale your services, whatever your platform.

spring.io

반응형