2024-01-31 (38일차) - 로그인기능, 로그아웃기능, 권한체크

·2024년 1월 31일

📅 2024-01-30


TODO

[프로그래머스]

  • 문제풀이 (85%)
  • 벨로그에 정리 (70%)

[Spring_AM] 
강의다시보고 로직이해하기

  • 작업 28, doJoin에 ResultData 적용 (70%)
  • 작업 29, ResultData에 제네릭 추가, doModify, doDelete 에 적용 (90%)
  • 작업 30, 로그인 기능 구현, HttpSession (100%)
  • 작업 31, 로그아웃 기능 구현, doWrite 수정, DB 스키마 업데이트 (95%)
  • 작업 32, doWrite 할 때 작성자의 정보 저장, write,modify,delete 로그인 체크 (100%)
  • 작업 33, doJoin 로그인체크 (100%)
  • 작업 34, doModify, doDelete 권한체크 (100%)

[추가로 한 것]

  • 작업 35, article/doModify의 권한체크를 Service에서 대신하도록 (90%)
  • 작업 36, ResultData에 dataName 추가, SQL 로거 추가 (100%)
  • 작업 37, JSP 연결 (100%)
  • 웹크롤링 / 웹스크래핑 구글링 (100%)
  • 벨로그 정리 (100%)

컴파일타임 / 런타임

컴파일타임 -> 편집과정
런타임 -> 실행과정

제네릭

제네릭 타입
예) < DT> ResultData
의미: 타입 나중에 정하겠다~


로그인 기능

로그인 상태 체크 -> 중복 로그인 x o

입력 null 체크 o

없는 아이디 o

비번 틀림 △ -> 망할 .equals!!!!

  • 여기서 .equals 대신 != 로 계속 삽질함...
		Member member = memberService.getMemberByLoginId(loginId);

		if (member == null) {
			return ResultData.from("F-3", Ut.f("%s(은)는 존재하지 않는 아이디입니다", loginId));
		}

		if (member.getLoginPw().equals(loginPw) == false) {
			return ResultData.from("F-4", Ut.f("비밀번호가 일치하지 않습니다"));
		}
	}

.equals 랑 == 차이 찾아보기

String은 기본타입이 아닌 객체라서 .equals로 비교해줘야 함.
기본타입들은 ==로 비교 가능.
객체타입끼리 어떻게 비교하는지 찾아보기.


로그아웃 기능

removeAttribute 사용 o
로그인상태 아닌데 로그아웃하려고하면
로그인 후 이용하라고 나와야함 o

권한체크

요구사항:

  • 작성자 -> 글 남길 때 같이
  • 로그인 체크
  • 권한체크 -> 수정/삭제

글 남길 때 작성자 개념 추가

  • article 테이블에 작성자 컬럼 추가? JOIN? 일단 Join 안하고!
  • article 테이블에 작성자 컬럼추가하고 id넣고 o
  • 작성자 닉네임 표시-> member 테이블이랑 join하기

로그인체크

  • doWrite o
  • doModify o
  • doDelete o

로그인아이디와 작성자아이디 체크

  • doModify
  • doDelete
profile
hello world

0개의 댓글