| | |
| | | var api dbapi.UserApi |
| | | b, d := api.SaveAuth(paramBody) |
| | | if b { |
| | | auth.SetOutUser(userEditVo.Id) |
| | | util.ResponseFormat(c,code.UpdateSuccess,d) |
| | | } else { |
| | | util.ResponseFormat(c,code.UpdateFail,"保存失败") |
| | |
| | | "github.com/gin-gonic/gin" |
| | | "net/http" |
| | | "strings" |
| | | "sync" |
| | | "webserver/extend/code" |
| | | "webserver/extend/util" |
| | | ) |
| | |
| | | return &authDriver |
| | | } |
| | | |
| | | var outUserM = make(map[string]string,0) |
| | | var lock sync.RWMutex |
| | | |
| | | func SetOutUser(userId string) { |
| | | lock.Lock() |
| | | defer lock.Unlock() |
| | | outUserM[userId] = userId |
| | | } |
| | | |
| | | func removeOutUser(userId string) { |
| | | lock.Lock() |
| | | defer lock.Unlock() |
| | | if _,ok := outUserM[userId];ok{ |
| | | delete(outUserM,userId) |
| | | } |
| | | } |
| | | |
| | | func AuthHandler() gin.HandlerFunc { |
| | | return func(c *gin.Context) { |
| | | urlPath := c.Request.URL.Path |
| | |
| | | util.ResponseFormat(c,code.TokenNotFound,"尚未登录,请登录") |
| | | c.Abort() |
| | | } |
| | | user := (*jwtDriver).User(c) |
| | | loginM := user.(map[string]interface{}) |
| | | userId := loginM["id"].(string) |
| | | removeOutUser(userId) |
| | | c.Next() |
| | | } else { |
| | | c.Next() |