From 2bd2068c999cda5bda8c0787ed0dcaac6cb7afdb Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@iotlink.com>
Date: 星期四, 31 十月 2019 13:27:46 +0800
Subject: [PATCH] feat: add system reboot api

---
 middlewares/auth/auth.go |   23 +++++++++++++++++++++--
 1 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/middlewares/auth/auth.go b/middlewares/auth/auth.go
index 479d931..2de927d 100644
--- a/middlewares/auth/auth.go
+++ b/middlewares/auth/auth.go
@@ -1,6 +1,7 @@
 package auth
 
 import (
+	"fmt"
 	"github.com/gin-gonic/gin"
 	"net/http"
 	"strings"
@@ -35,7 +36,16 @@
 	outUserM[userId] = userId
 }
 
-func removeOutUser(userId string) {
+func OutUser(userId string) bool {
+	lock.Lock()
+	defer lock.Unlock()
+	if _,ok := outUserM[userId];ok{
+		return true
+	}
+	return false
+}
+
+func RemoveOutUser(userId string) {
 	lock.Lock()
 	defer lock.Unlock()
 	if _,ok := outUserM[userId];ok{
@@ -54,9 +64,18 @@
 				c.Abort()
 			}
 			user := (*jwtDriver).User(c)
+			fmt.Println("AuthHandler user:",user)
+			if user == nil {
+				util.ResponseFormat(c,code.TokenNotFound,"灏氭湭鐧诲綍锛岃鐧诲綍")
+				c.Abort()
+				return
+			}
 			loginM := user.(map[string]interface{})
 			userId := loginM["id"].(string)
-			removeOutUser(userId)
+			if OutUser(userId) {
+				util.ResponseFormat(c,code.TokenNotFound,"灏氭湭鐧诲綍锛岃鐧诲綍")
+				c.Abort()
+			}
 			c.Next()
 		} else {
 			c.Next()

--
Gitblit v1.8.0