spring

spring security /login?logout

tonirr 2020. 2. 15. 21:02

필터 적용 후

 

logout 버튼 

-> login?logout 페이지에서 id, pwd 입력하면

-> /hello 페이지로 가야하는데 /home페이지로 가는 현상

 

	@Override
	protected void configure(HttpSecurity http) throws Exception {
		http
			.authorizeRequests()				
				.antMatchers("/", "/home").permitAll()
				.anyRequest().authenticated()
				.and()
			.formLogin()
				.loginPage("/login")
				.permitAll()
				.defaultSuccessUrl("/hello", true)
				.and()
			.logout()
				.permitAll();
		http.addFilterBefore(new LoginFilter(), UsernamePasswordAuthenticationFilter.class);
	}

 

** 시도했던 방법

1) .formLogin()  loginPage("/login?logout") 추가

  : 로그인 페이지가 /login?logout 이 되어버림

 

2) .logout() 에 logoutSuccessUrl("/login") 추가

  : 로그아웃 후에 /login?logout 가 아니라 /login으로 가버림

 

** 해결방법

.formLogin() 에

.defaultSuccessUrl("/hello", true) 를 추가해주니

/login?logout 상태에서도 /hello 로 감

 

참고

https://www.baeldung.com/spring-security-login