From 95c6834d15710afdf235262e4582630d0cee59b0 Mon Sep 17 00:00:00 2001
From: lepig <lepig@qq.com>
Date: Tue, 5 Mar 2019 16:42:35 +0800
Subject: [PATCH] 用户退出登录后重置logined属性登录状态 如果不手动设置`$this->logined=false` 那么在`application/admin/model/AdminLog::record()`方法里出现问题。 具体问题就是`$admin_id = $auth->isLogin() ? $auth->id : 0;` 这样代码得到的$admin_id为null,而不是0.   因为执行到$auth->isLogin()后的得到的结果为`true`,那么这个时候系统已经清除了相关session信息,所以$auth->id返回null值。 得到null值后,在进行写日志到adminlog表的时候,由于admin_id字段不允许为null就会报错。类似如下错误 ``` SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'admin_id' cannot be null ```

---
 application/admin/library/Auth.php | 1 +
 1 file changed, 1 insertion(+), 0 deletions(-)

diff --git a/application/admin/library/Auth.php b/application/admin/library/Auth.php
index 5ef8738..fe4c905 100644
--- a/application/admin/library/Auth.php
+++ b/application/admin/library/Auth.php
@@ -77,6 +77,7 @@ class Auth extends \fast\Auth
         }
         $admin->token = '';
         $admin->save();
+        $this->logined = false; //重置登录状态
         Session::delete("admin");
         Cookie::delete("keeplogin");
         return true;
--
libgit2 0.24.0