본문 바로가기
  • 읽고보고쓰고
PROGRAMMING/Database

[ORACLE] 로그인 정책 적용

by 체리그루브 2022. 12. 13.
728x90

흔히들 로그인을 만들때, 5회 이상 틀리면 회원을 잠그고, 패스워드 변경 처리하도록 한다. 그에 대한 로직을 적용한 테이블 구조와 쿼리는 다음과 같다.

/* n회차 틀릴 경우 저장 */
UPDATE T_USER SET PSWD_FAIL_CNT = 0  WHERE LOGIN_ID = 'TEST1234';
COMMIT;

 

또한 마지막 패스워드 변경일을 관리하여, 1달에 한 번씩 패드워드를 변경할 수 있게 끔 해줘야 한다.

/*마지막 수정일 변경*/
UPDATE T_USER SET LS_PSWD_CHG_DTM = SYSDATE WHERE LOGIN_ID = 'TEST1234';
COMMIT;

 

끝으로 패스워드를 초기화 해줘야 할 때가 있다. 대부분은 회사 내부 디폴드 값이 있을 것이다. 컬럼의 암호화 방식에 맞춰 미리 해당 값을 확보해 놓고 초기화 때마다 동일하게 적용해 주면 손쉽게 해결할 수 있다.

/*패스워드 초기화*/
UPDATE T_USER 
	SET 	PSWD = 'D711890A45A383BD2F689C98E91412F887031C1E9346297DFC1C268E77' 
			MDF_ID = 'ADMIN'
			,MDF_DTM = SYSDATE
WHERE LOGIN_ID = 'TEST1234';
COMMIT;

※ 위 쿼리들은 현재 Live 에서 사용하는 것을 변형한 것임을 밝혀둔다.

728x90

댓글