diff --git a/src/framework/utils/token/token.go b/src/framework/utils/token/token.go index 6815eb2..b28462e 100644 --- a/src/framework/utils/token/token.go +++ b/src/framework/utils/token/token.go @@ -35,8 +35,8 @@ func Remove(tokenStr string) string { // Create 令牌生成 func Create(loginUser *vo.LoginUser, ilobArgs ...string) string { - // 生成用户唯一tokne32位 - loginUser.UUID = generate.Code(32) + // 生成用户唯一tokne16位 + loginUser.UUID = generate.Code(16) // 设置请求用户登录客户端 loginUser.IPAddr = ilobArgs[0] diff --git a/src/lib_features/account/account.go b/src/lib_features/account/account.go index 2bdfd8f..9e4e5ea 100644 --- a/src/lib_features/account/account.go +++ b/src/lib_features/account/account.go @@ -14,7 +14,13 @@ import ( func SessionToken(username, sourceAddr string) bool { token, _ := redis.Get("", "session_token") if token != "" { - return true + se, err := dborm.XormUpdateSessionShakeTime(token) + if se.AccountId != username || err != nil { + // 过期时间单位秒 配置1800是半小时 + expireTime := time.Duration(int64(libConfig.GetExpiresFromConfig())) * time.Second + redis.SetByExpire("", "session_token", token, expireTime) + return true + } } token = oauth.GenRandToken("omc") // Generate new token to session ID