Piwik\Plugins\Login\SessionInitializer::initSession PHP Method

initSession() public method

Authenticates the user and, if successful, initializes an authenticated session.
public initSession ( Piwik\Auth $auth, boolean $rememberMe )
$auth Piwik\Auth The Auth implementation to use.
$rememberMe boolean Whether the authenticated session should be remembered after the browser is closed or not.
    public function initSession(AuthInterface $auth, $rememberMe)
    {
        $this->regenerateSessionId();
        $authResult = $this->doAuthenticateSession($auth);
        if (!$authResult->wasAuthenticationSuccessful()) {
            Piwik::postEvent('Login.authenticate.failed', array($auth->getLogin()));
            $this->processFailedSession($rememberMe);
        } else {
            $this->processSuccessfulSession($authResult, $rememberMe);
        }
    }

Usage Example

Example #1
0
 /**
  * Authenticate user and password.  Redirect if successful.
  *
  * @param string $login user name
  * @param string $password md5 password
  * @param bool $rememberMe Remember me?
  * @param string $urlToRedirect URL to redirect to, if successfully authenticated
  * @return string failure message if unable to authenticate
  */
 protected function authenticateAndRedirect($login, $password, $rememberMe, $urlToRedirect = false, $passwordHashed = false)
 {
     Nonce::discardNonce('Login.login');
     $this->auth->setLogin($login);
     if ($passwordHashed === false) {
         $this->auth->setPassword($password);
     } else {
         $this->auth->setPasswordHash($password);
     }
     $this->sessionInitializer->initSession($this->auth, $rememberMe);
     // remove password reset entry if it exists
     $this->passwordResetter->removePasswordResetInfo($login);
     if (empty($urlToRedirect)) {
         $urlToRedirect = Url::getCurrentUrlWithoutQueryString();
     }
     Url::redirectToUrl($urlToRedirect);
 }
All Usage Examples Of Piwik\Plugins\Login\SessionInitializer::initSession