-
[SpringBoot] Spring Security, custom login 반응없음IT/삽질 2023. 5. 9. 02:03
지금 보고 있는 도서는 아래 도서이다.
아무래도 출판된지 시간이 되어서 그런지 현재 기준 동작하지 않는 부분이 있다.
스프링 시큐리티도 그 중 하나인데.. 삽질한 내용 정리해본다.그런데 사실 이번 삽질은 나의 실수.. ㅋㅋ 정말 삽질이다 ㅋㅋㅋ
로그인할 때 노출한 화면 코드이다. (loginForm.jsp)
<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>LoginForm</title> </head> <body> <h1>loginForm.jsp</h1> <form-login action="<c:url value='j_spring_security_check' />" method="post"> ID : <input type="text" name="j_username"> <br> PW : <input type="text" name="j_password"> <br> <input type="submit" value="LOGIN"> <br> </form-login> </body> </html>
그리고 WebSecurityConfigurerAdapter 를 상속해서 구현한 WebSecurityConfig 클래스 중 로그인 처리를 하는 부분이다.
... http.formLogin() .loginPage("/loginForm") // 로그인폼 url 지정, default: /login .loginProcessingUrl("/j_spring_security_check") .failureUrl("/loginError") // default: /login?error .defaultSuccessUrl("/member/welcome") // 로그인 성공시 호출할 url. 미지정 시 root(/)로 이동 .usernameParameter("j_username") // default: j_username .passwordParameter("j_password") // default: j_password .permitAll(); ...
화면 띄우고 ID, PW 입력 후 LOGIN 클릭 시 로그인 성공/실패 수행될 줄 알았으나 아무 동작이 없는 것이다! 뭐지? 왜?
이런저런 삽질을 하다가 <form-login> 태그를 <form> 태그로 수정해보니, 정상 처리 된다!!
다시 책에 있는 코드를 살펴보니 <form-login> 태그가 아니고 <form> 태그로 되어 있다. 내가 미쳤나... 그런데 찾아보니 <form-login> 태그도 있긴하다. spring security 용으로... 그런데 <form-login> 태그에서는 왜 동작하지 않을까? -_-;; 혹시 아시는 분...
추가로 ChatGPT에 물어보니 <form> 태그 사용할 때 action 속성 값으로 <spring:url> 태그를 사용하라고 한다. taglib 추가는 필수..
코드 확인 >>
참고 >>
https://recordsoflife.tistory.com/248
https://brilliantdevelop.tistory.com/139
'IT > 삽질' 카테고리의 다른 글
[Redis] 맥북에 redis 설치하기 (0) 2023.11.15 [SpringBoot] @RequestBody, @ResponseBody 어노테이션 (0) 2023.10.31 [SpringBoot] Security 관련 에러 - Error creating bean with name 'webSecurityConfig' (0) 2023.05.05 [SpringBoot] @Transactional 어노테이션, 트랜잭션 전파 (0) 2023.05.04 [SpringBoot] MyBatis + log4jdbc 설정 시 deprecated 로그 수정 (0) 2023.05.02