비버놀로지

[Spring JPA] 1-12. 회원 가입 : 로그인 로그아웃 본문

LANGUAGE STUDY/Spring

[Spring JPA] 1-12. 회원 가입 : 로그인 로그아웃

KUNDUZ 2021. 5. 4. 12:42
728x90
package com.studyolle.config;

import org.springframework.boot.autoconfigure.security.servlet.PathRequest;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpMethod;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.builders.WebSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

	@Override
	protected void configure(HttpSecurity http) throws Exception {
		http.authorizeRequests()
				.mvcMatchers("/", "/login", "/sign-up", "/check-email", "/check-email-token", "/email-login",
						"/check-email-login", "/login-link")
				.permitAll().mvcMatchers(HttpMethod.GET, "/profile/*").permitAll().anyRequest().authenticated();
		
		
		http.formLogin()
		.loginPage("/login").permitAll();
		
		http.logout()
		.logoutSuccessUrl("/");
	}

    @Override
    public void configure(WebSecurity web) throws Exception {
        web.ignoring()
                .mvcMatchers("/node_modules/**")
                .requestMatchers(PathRequest.toStaticResources().atCommonLocations());
    }
}

 

위와 같이 loginPage를 사용을 해서 Security에서 기본으로 받아 줄 수있습니다.

 

위에는 /login이라는 페이지를 직접 만들어서 위와 같은 작업을 수행합니다.

 

그렇게 되면 따로 login이라는 컨트롤러가 없이 자동으로 로그인이 되는것을 확인할 수 있습니다.

 

 

 

 

728x90
Comments