2013-03-11 2 views
1

로그인 후 사용자의 비밀번호를 확인하고 싶습니다.cakePHP로 로그인하면 사용자 비밀번호 확인

가장 쉬운 방법은 무엇입니까?

나는 로그인 및 로그 아웃 동작이있는 사용자 컨트롤러가 있으며, 그러면 인증 컨트롤러가있는 로그인 컨트롤러가 있습니다.

내가 원하는 것은 지난 한 달 동안 암호가 변경된 경우 또는 암호가 비어 있거나 사용자 이름과 같은 경우입니다.

이러한 3 가지 조건 중 하나라도 충족되면 새 암호를 묻는 메시지가 나타납니다. 이 일을 어떻게 성취 할 수 있습니까?

답변

1

먼저 비밀번호를 마지막으로 변경 한 날짜를 저장해야합니다. 그래서 사용자 테이블의 모습 : 당신의 AppController-> 로그인() 메서드 내

둘째, ID, 로그인, 비밀번호, pwd_date, 당신은

유사한 것 몇 줄의 코드를 추가해야
$user = $this->User->findById($this->Auth->getUser('id')); 
if ($user['User']['pwd_date'] < strtotime('-3 months') || '' == trim($user['User']['password'])){ 
    promptViewToShowMustResetPassword(); 
} 

이제 사용자 이름과 암호가 같은지 확인하는 것과 같이 사용자 정의 유효성 검사 규칙으로 사용자 모델에 설정하고 사용자 이름 암호 사용을 허용하지 않도록 설정해야합니다.