java.lang.NullPointerException: Cannot invoke "kosta.mvc.domain.Member.getMemberEmail()" because "member" is null

MJ·2022년 12월 29일
0

Project

목록 보기
5/7

그란데 말입니다,,,

📌 Error

role이 제대로 들어가지 않았을 거라 생각은 했지만 member/** 경로는 로그인 하면 무조건 갈 수 있을텐데 안된다. 왤까??????

[프로젝트]

[수업 내용]

일단 둘의 차이는 authenticated의 상태(true/false)이다. 역시 auth 테이블을 만들어야 할 것 같다,,,

💡 원인1

provider에서 db에서의 role을 갖고 오는 코드가 없어서 안 된 거였다,,,(auth가 써있으니까 무조건 인증 관련인 줄 알고 작성하지 않은 게 문제였다,,,)

✅ 일부 해결

로그인 안 된 상태에서 마이페이지를 가려했을 때의 상황

로그인 후 이전에 요청한 것처럼 마이페이지로 이동한 상황

이제 회원/사업자 모두 security 적용해야 되는데 어떡하지,,,? 일단 도저어어어어어언!!!!!!!!!!

일단 인터넷에 있는 예시와 비슷하게 했는데 에러가 났다,,,,,

💡 원인2

multiSecurityConfig 클래스 내에 Member, Owner class가 따로 있고 각각 passwordEncoder가 선언되어 있는 것을 주석처리 후 공통으로 뺐다(물론 기존에 사용하던 SecurityConfig 파일의 annotation도 주석처리 해야 됨!). ⇒ 서버에 잘 올라감

근데 이전까지 잘 되던 로그인이 전혀 되지 않는다,,,

오류도 너무 많이 떠서 무슨 오류인지도 잘 모르겠다.

💡 원인3

일단 이 방법으로 해보려 한다. 제발🙏🙏🙏🙏🙏

위의 방법은 둘째 치고

datasource url이 다른 사람 경로에 맞춰진 거라 안된 거였다,,,,,,,,,OTL 그리고 갑자기 JSP file을 찾을 수 없단 오류가 뜬다. 병합하고 header를 바꿔 쓰면서 완전 엉망진창이 된 것 같다🤦‍♀️

✅ 일부 해결

일단 이렇게 오류가 뜨니 됐다(일부러 오류낸 상황). 이제 다시 가즈아!!!!!!!!!!!

아무리 주석 처리해도 security 파일이 두 개있으면 잘 안되는 것 같아 잘 되는 security 파일을 일단 빼고 multiple 하나만 놓고 첫 버전? 대로 돌려봤더니 이런 에러가 뜬다. 근데 true 설정하는 걸 고려해보라고???

💡 원인4

일단

config를 여러 개 주고 order를 적용하는 방법을 쓰려 했으나 그건 실패해서,,, 큰 차이 없이(/member 경로도 hasRole() 메소드 쓰고, loginForm.jsp에서 사업자 역시 form action 주소를 j_spring 어쩌고로 수정) 수정했다.

야매로 provider에서 조건을 주고 로그인하려는 유저의 id 타입에 따라 각각에 맞는 값을 리턴하도록 수정했다. 그랬더니,,,

✅ 80%정도 해결

[회원]

로그인 클릭 → 회원 로그인 시

로그인 후 회원 정보 화면 이동 시

로그인 후 사업자 관련 페이지 이동 시(에러 메시지나 화면을 띄워줘야 할 것 같음,,,)

[사업자]

아무 로그인 안한 상태에서 사업자 관련 페이지 이동 시

로그인 후 이전에 요청한 페이지로 (사업자 홈) 이동한 모습

아쉽게도 메인 화면에서 로그인 클릭 → 사업자로 로그인 하면 회원처럼 그냥 메인으로 이동한다. 어떤 타입의 유저가 로그인하는지에 따라 이동할 경로를 작성한 컨트롤러도 있고, 해당 컨트롤러로 가게 하는 요청을 써놓기도 해놨는데 왜 그게 적용 안되는지 모르겠다,,, 'To be continued'.

profile
enthusiasm and positivity every single day!

0개의 댓글