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
'PROGRAMMING > Database' 카테고리의 다른 글
[ORACLE] 요일별 생산 수량 써머리 표출 (2) | 2022.12.20 |
---|---|
[ORACLE] 동일 상품정보 제거하기 (4) | 2022.12.14 |
[ORACLE] 내 맘대로 소팅 (커스텀 정렬) (10) | 2022.12.12 |
[오라클] 주문배송 집계정보 처리 (19) | 2022.12.07 |
[ORACLE] 이번달 1일, 마지막일 구하기 (8) | 2022.11.16 |
댓글