コード例 #1
0
 function __construct()
 {
     Session::init();
     $this->request = DI::get('request');
     $this->response = DI::get('response');
 }
コード例 #2
0
ファイル: auth.php プロジェクト: hillmediakft/vframework
 /**
  * Bejelentkezés cookie-val
  */
 public function loginWithCookie()
 {
     $cookie = isset($_COOKIE['rememberme']) ? $_COOKIE['rememberme'] : false;
     //ha nem létezik 'rememberme' cookie
     if (!$cookie) {
         // $this->setError('cookie_invalid');
         return false;
     }
     // cookie tartalom elemekre bontása
     list($user_id, $token, $hash) = explode(':', $cookie);
     // ha a 'rememberme' cookie első két részének titkosított kódja nem egyezik meg a cookie harmadik részével
     if ($hash !== hash('sha256', $user_id . ':' . $token)) {
         $this->setError('cookie_invalid');
         return false;
     }
     // ha üres a cookie token része
     if (empty($token)) {
         $this->setError('cookie_invalid');
         return false;
     }
     // user adatainak lekérdezése
     $this->user = $this->getUserDataById($user_id, $token);
     // ha nincs ilyen user
     if (!$this->user) {
         $this->setError('login_failed');
         return false;
     }
     // a user_active mező értékének vizsgálata
     if (!$this->_isActive($this->user->active)) {
         $this->setError('Az ön belépési engedélye fel van függesztve!');
         return false;
     }
     // user login adatok eltárolása session-ben
     $user_data = array('id' => $this->user->id, 'name' => $this->user->name, 'email' => $this->user->email, 'role_id' => $this->user->role_id, 'photo' => $this->user->photo, 'provider_type' => $this->user->provider_type);
     Session::init();
     Session::set(self::$logged_in, true);
     Session::set(self::$last_activity, time());
     // bejelentkezés, illetve utolsó aktivitás ideje
     Session::set('user_data', $user_data);
     // generate integer-timestamp for saving of last-login date
     $last_login_timestamp = time();
     // adatok a pdo objektum execute metódusának
     $data = array(':id' => $this->user->id, ':last_login_timestamp' => $last_login_timestamp);
     // sikeres bejelentkezés esetén adatok rögzítése az adatbázisban (2. paraméter a rememberme)
     $this->_registerSuccessLogin($data, false);
     return true;
 }