2013-06-06 4 views
0

zf2 인증 메소드를 사용하여 사용자에 로그인하고 있습니다. 사용자가 유효성을 확인한 후 2 분 후에 만료되는 세션에 사용자를 저장합니다. 세션이 시간 초과되면 경고음을 화면에 표시하거나 표시하지 않고 사용자가 자동으로 로그 아웃되도록하고 싶습니다. 아래는 세션 저장을위한 코드입니다.세션 종료 후 강제 로그 아웃 동작

 if ($result->isValid()) { 

       $redirect = 'edit'; 


        $this->getSessionStorage() 
         ->setRememberMe(); // sets the session to 2 minutes 
        //set storage again 
        $this->getAuthService()->setStorage($this->getSessionStorage()); 

       $this->getAuthService()->getStorage()->write($request->getPost('EMAIL')); 
      } 
+0

아무 것도 할 일이 없습니다. 세션이 만료되면, isAuth()는 false를 리턴 할 것이고, 이는 사용자가 더 이상 로그하지 않는다는 것을 의미한다. – Tounu

+0

만료 후 로그인 페이지로 리디렉션 할 수 있습니까? – snab

+0

모든 것이 가능합니다 :). 그것이 당신이 어떻게 작동하길 원하는지에 달렸습니다. 해결책은 각 페이지에서 사용자가 인증되었는지 확인하는 것입니다. 그렇지 않은 경우 로그인 페이지로 리디렉션됩니다. 이 솔루션으로 동적 인 것은 아니지만 사용자가 페이지를로드 할 때까지 기다려야합니다. – Tounu

답변

0

세션 확인을 위해 서버에 요청을 보내야하므로 PHP로 처리 할 수 ​​없습니다. js를 사용해야 할 수도 있습니다. ajax를 사용하여 서버에 요청을 보내서 세션이 만료되었는지 확인하고 페이지를 다시로드하십시오.