Procházet zdrojové kódy

登录缓存修改

任敬轩 před 4 roky
rodič
revize
33442bc94d

+ 4 - 0
app/Http/Controllers/Account/UserController.php

@@ -63,6 +63,8 @@ class UserController extends Controller
                     $message = '登陆成功! '.get_credit_message(Setting()->get('credits_login'),Setting()->get('coins_login'));
                    return $this->success(route('website.index'),$message,true);
                 }
+                session_start();
+                $_SESSION['login_time'] = time();
                 /*认证成功后跳转到首页*/
                 return $this->success(route('auth.doing.index'),'登陆成功!',true);
             }
@@ -296,6 +298,8 @@ class UserController extends Controller
      */
     public function logout(){
         setcookie("token",0,time()-7200,"/",".nxjiewei.com");
+        session_start();
+        unset($_SESSION['login_time']);
         $this->auth->logout();
         return redirect()->to(route('website.index'));
     }

+ 17 - 2
app/Http/Controllers/IndexController.php

@@ -2,6 +2,7 @@
 
 namespace App\Http\Controllers;
 
+use App\Http\Controllers\Account\UserController;
 use App\Jobs\SendEmail;
 use App\Models\Article;
 use App\Models\Authentication;
@@ -58,7 +59,20 @@ class IndexController extends Controller
 
     public function index()
     {
+        session_start();
+        if(isset($_SESSION['login_time'])){
+            $time = time()- $_SESSION['login_time'];
+            if($time > 7200){
+                setcookie("token",0,time()-7200,"/",".nxjiewei.com");
+                unset($_SESSION['login_time']);
+                $this->auth->logout();
+                return redirect()->to(route('website.index'));
+            }
+        }
+
+
         if(isset($_COOKIE['token']) && Auth()->guest()==true){
+
             $_COOKIE['token'] = base64_decode($_COOKIE['token']);
             $data['email'] = explode(',',$_COOKIE['token'])[0];
             $data['_token'] = csrf_token();
@@ -74,7 +88,7 @@ class IndexController extends Controller
             }
         }
         /*热门话题*/
-        $hotTags =  Taggable::globalHotTags(); 
+        $hotTags =  Taggable::globalHotTags();
 
         /*推荐内容*/
         $recommendItems= Cache::remember('recommend_items',Setting()->get('website_cache_time',1),function() {
@@ -135,7 +149,6 @@ class IndexController extends Controller
         $data['email_notifications'] = 'adopt_answer,invite_answer';
         $data['qrcode'] = '/static/images/default_avatar.jpg';
         $user = $this->user->create($data);
-
         if ($user) {
             $userData = [
                 'user_id' => $user->id,
@@ -152,6 +165,7 @@ class IndexController extends Controller
         }
         $user->attachRole(2); //默认注册为普通用户角色
         $this->auth->login($user);
+        $_SESSION['login_time'] = time();
         $message = '注册成功!';
         if($this->credit($user->id,'register',Setting()->get('coins_register'),Setting()->get('credits_register'))){
             $message .= get_credit_message(Setting()->get('credits_register'),Setting()->get('coins_register'));
@@ -186,6 +200,7 @@ class IndexController extends Controller
                 $message = '登陆成功! '.get_credit_message(Setting()->get('credits_login'),Setting()->get('coins_login'));
                 return $this->success(route('website.index'),$message,true);
             }
+            $_SESSION['login_time'] = time();
             /*认证成功后跳转到首页*/
             return $this->success(route('auth.doing.index'),'登陆成功!',true);
         }

+ 1 - 1
app/Models/User.php

@@ -30,7 +30,7 @@ class User extends Authenticatable
      *
      * @var array
      */
-    protected $fillable = ['name', 'email','mobile', 'password','status','site_notifications','email_notifications'];
+    protected $fillable = ['name', 'email','mobile', 'password','status','site_notifications','email_notifications','qrcode'];
 
     /**
      * The attributes excluded from the model's JSON form.