아,, 학원 다니면서 공부했을 때, 스프링 시큐리티를 배웠던 것 같다. 아니,,; 그냥 로그인창 뜨는게 시큐리티라고 알려주면 오또캐.....🥲 심지어는 그 '스프링 시큐리티'라는 이름도 제대로 얘기안해준 듯;
오늘 과제를 진행하면서 스프링 시큐리티를 적용해보았는데, 내가 직접 적용해보려고 하니 이 동작 방식이 더욱 궁금해졌다. 과제를 위해 강의 코드를 그대로 가져와서 일부분씩 고치며 사용했다.
일단 localhost:8080/ 을 그냥 url에 치면 로그인 폼으로 이동한다.
그래서 나는 회원가입을 하고 그 아이디와 비밀번호를 입력하면 로그인이 되는 건줄 알았다. 회원가입은 포스트맨으로 진행해서 데이터베이스에 들어가는 것까지 확인했고 그 아이디로 로그인을 하려고 하면 "사용자 계정이 잠겼습니다" 라는 문구만 계속 뜨고 작동을 안하는 것이었다.
나의 생각으로는, postman에서 테스트하는 내용과 저 로그인 폼에서 일어나는 일이 같은 건줄 알았다. 그래서 당연히 DB에 들어가있는 정보로 입력하면 로그인이 정상적으로 될 줄 암.
근데 중요한게, 저 로그인 폼의 url 은 "http://localhost:8080/login"
나는 "/login" 이라는 경로를 설정해준 적이 없었고, 그래서 제대로 작동을 안하는 건가? 싶었다.
그래서 'WebSecurityConfig.java' 파일 쪽에 이렇게 추가를 해줘보았다.
http.formLogin().loginProcessingUrl("/api/user/login");
음,, 여전히 제대로 동작 안함. 혹시나 반대로 "/login"으로 설정해보았지만 그것도 안됨.
결국 얻은 해답으론, FormLogin을 관리하는 컨트롤러가 따로 있기 때문에 같은 동작을 하지 않을 거라는 것!
어쨌든 포스트맨으로 테스트했을 때 정상동작하고 있었으니 그냥 미련을 거두기로... formLogin부분은 과감히 지워버렸다. 이 녀석때문에 한참 삽질을 했고 그 사이 정들었지만 어쩔 수 없이 보내주었다고 한다...
그리고
http.httpBasic().and();
이 녀석에 대한 탐구가 더 필요하다. 이걸 붙여주면 인증이 제대로 되고 없으면 안됐다. 아직 잘 모르겠지만 앞으로 천천히 알아가게 될 거라고 기대하면서 일단 모르는 것 리스트에 추가만 해둔다... 안뇽
https://www.inflearn.com/questions/246473/httpbasic-%EC%84%A4%EC%A0%95
++ 추가자료
https://jangjjolkit.tistory.com/25
https://brunch.co.kr/@springboot/491
++ 혹시나 또 지난번처럼 postman 사용법 미숙으로 오류가 생겼을까봐 미리 찾아본 자료
'T.I.L. :: Today I Learned > 항해99 14기 본과정' 카테고리의 다른 글
Day 25. 아 3점 감점.... 😑 (0) | 2023.04.27 |
---|---|
Day 24. 중요한 것은 꺾이지 않는 마음 (0) | 2023.04.26 |
Day 22. 자도 자도 또 자고 싶어요 (0) | 2023.04.24 |
Day 21. 봄이 오고 Spring도 왔ㄷㅏ... : ) (0) | 2023.04.23 |
Day 20. 1년만에 자바의 정석 다 봤다 ~~ Yay~~~~ (0) | 2023.04.22 |