コード例 #1
0
 public function run()
 {
     $logout = $this->getInput()->getParameter('logout', 'false');
     if ($logout === 'true') {
         $sessionStore = $this->getServiceObject(UmgtUserSessionStore::class, [], APFService::SERVICE_TYPE_SESSION_SINGLETON);
         /* @var $sessionStore UmgtUserSessionStore */
         $sessionStore->logout($this->getContext());
         // delete cookie to avoid re-log-in effects after clicking on log-out
         $cookie = new Cookie(UmgtAutoLoginAction::AUTO_LOGIN_COOKIE_NAME);
         $response = $this->getResponse();
         $response->setCookie($cookie->delete());
         // redirect to target page
         $urlProvider = $this->getDIServiceObject('APF\\modules\\usermanagement\\biz', 'LogoutRedirectUrlProvider');
         /* @var $urlProvider UmgtRedirectUrlProvider */
         $response->forward(LinkGenerator::generateUrl(Url::fromString($urlProvider->getRedirectUrl())));
     }
 }
コード例 #2
0
ファイル: RequestImpl.php プロジェクト: GeneralCrime/code
 public function getCookie($name)
 {
     if (isset($_COOKIE[$name])) {
         $cookie = new Cookie($name);
         $cookie->setValue($_COOKIE[$name]);
         return $cookie;
     }
     return null;
 }
コード例 #3
0
ファイル: LoginController.php プロジェクト: GeneralCrime/code
 public function createAutoLogin($user)
 {
     /* @var $umgt UmgtManager */
     $umgt = $this->getDIServiceObject('APF\\modules\\usermanagement\\biz', 'UmgtManager');
     $cookieLifeTime = $umgt->getAutoLoginCookieLifeTime();
     $cookie = new Cookie(UmgtAutoLoginAction::AUTO_LOGIN_COOKIE_NAME, time() + $cookieLifeTime);
     $token = md5(rand(100000, 999999));
     $this->getResponse()->setCookie($cookie->setValue($token));
     $authToken = new UmgtAuthToken();
     $authToken->setToken($token);
     $umgt->saveAuthToken($user, $authToken);
 }
コード例 #4
0
ファイル: ResponseImpl.php プロジェクト: GeneralCrime/code
 public function deleteCookie(Cookie $cookie)
 {
     $this->cookies[$cookie->getName()] = $cookie->delete();
     return $this;
 }