0
비활성 X 분 후에 사용자를 로그 아웃하려고합니다.
하지만 세션 만료 시간을 설정하는 방법을 찾을 수 없습니다.
Doctrine 2를 인증 서버/adpter로 사용합니다.
도움이 필요합니다.Zend Framework 2 Doctrine 인증 로그 아웃 비활성 사용자
비활성 X 분 후에 사용자를 로그 아웃하려고합니다.
하지만 세션 만료 시간을 설정하는 방법을 찾을 수 없습니다.
Doctrine 2를 인증 서버/adpter로 사용합니다.
도움이 필요합니다.Zend Framework 2 Doctrine 인증 로그 아웃 비활성 사용자
먼저 모든 사용자 세션을 등록해야합니다. 사용자는 다른 브라우저로 동시에 로그인 할 수 있습니다. 모든 세션에 대해 사용자가 세션을 시작한 시간을 등록해야합니다. 일부 의사 코드에서
: 현재 세션은 PHP (기본 로그인 코드)에서만 사용할 수없는 경우뿐만 아니라 세션이 여전히 유효한 경우 다음use Zend\Session\SessionManager;
public function login($username, $password)
{
// do some checks to perform the login
// now you have a $user available if login is success
// Session holds the session id and a timestamp
$manager = new SessionManager;
$id = $manager->getId();
$session = $this->registerSession($user, $id);
}
, 당신은 모든 요청에 확인해야 TTL (time-to-live)에 따라 따라서 getAuthenticatedUser()
으로 로그인 한 사용자는 다음과 같이 작성하십시오.
use Zend\Session\SessionManager;
public function getAuthenticatedUser()
{
$manager = new Sessionmanager;
// This is the session id
$id = $manager->getId();
// Now get the $session you registered earlier based on $id
$now = new DateTime;
if ($session->getTTL() > $now) {
return false;
}
// continue and get $user based on $session
}