示例#1
0
 public function forgetUserSession()
 {
     $auth = AuthRagnarok::user();
     if (AuthRagnarok::check()) {
         if ($auth->environment == 1 || !$this->checkConnection() && $auth->environment == 2) {
             $session = SecUserSessions::find($auth->userSessionId);
             if ($session) {
                 $session->update(['status' => 0, 'datetimeUpd' => date('Y-m-d H:m:s')]);
             }
         }
     }
 }
示例#2
0
 /**
  * @param $data
  * @return \Alfredoem\Ragnarok\Soul\RagnarokResponse
  */
 public function login($data)
 {
     if (!key_exists('remember', $data)) {
         $data['remember'] = false;
     }
     // login attempt
     if (Auth::once(['email' => $data['email'], 'password' => $data['password']], $data['remember'])) {
         $auth = Auth::user();
         // Store session user
         $session = SecUserSessions::create(['userId' => $auth->userId, 'sessionCode' => Make::uniqueString(), 'ipAddress' => $data['ipAddress'], 'status' => 1, 'dateIns' => date('Y-m-d'), 'datetimeIns' => date('Y-m-d H:m:s')]);
         $auth->ipAddress = $data['ipAddress'];
         $auth->sessionCode = $session->sessionCode;
         $auth->userSessionId = $session->userSessionId;
         $auth->environment = Session::get('environment');
         // Make ragnarok user
         $this->userRagnarok->make($auth);
         $this->success = true;
     }
     return $this->responseRagnarok->make($this->success, $this->userRagnarok);
 }
 /**
  * Check if the user have a active session
  * @param Request $request
  * @param $userId
  * @param $sessionCode
  * @return string
  */
 public function getValidUserSession(Request $request, $userId, $sessionCode)
 {
     $session = SecUserSessions::whereuserid($userId)->wheresessioncode($sessionCode)->wheredateins(date('Y-m-d'))->wherestatus(1)->first();
     $ipAddress = $request->ip();
     if ($session) {
         if ($session->datetimeUpd < date('Y-m-d H:m:s')) {
             $session->update(['ipAddress' => $ipAddress, 'datetimeUpd' => date('Y-m-d H:m:s')]);
         }
         if ($session->datetimeUpd < date('Y-m-d H:m:s') || $session->ipAddress == $ipAddress) {
             $data = $session->user;
             $data->ipAddress = $ipAddress;
             $data->sessionCode = $session->sessionCode;
             $data->userSessionId = $session->userSessionId;
             $data->environment = $this->environment;
             $data->remember_token = $session->user->remember_token;
             $this->responseData = $data;
             $this->responseSuccess = true;
         }
     }
     return EncryptAes::encrypt(json_encode($this->responseRagnarok->make($this->responseSuccess, $this->responseData)));
 }