代码拉取完成,页面将自动刷新
GfToken = >oken.GfToken{
CacheMode: g.Cfg().GetInt8("gToken.system.CacheMode"),
CacheKey: g.Cfg().GetString("gToken.system.CacheKey"),
Timeout: g.Cfg().GetInt("gToken.system.Timeout"),
MaxRefresh: g.Cfg().GetInt("gToken.system.MaxRefresh"),
TokenDelimiter: g.Cfg().GetString("gToken.system.TokenDelimiter"),
EncryptKey: g.Cfg().GetBytes("gToken.system.EncryptKey"),
AuthFailMsg: g.Cfg().GetString("gToken.system.AuthFailMsg"),
MultiLogin: MultiLogin,
LoginPath: "/login",
LoginBeforeFunc: Auth.login,
LoginAfterFunc: Auth.loginAfter,
LogoutPath: "/logout",
AuthExcludePaths: g.SliceStr{"/login"},
AuthAfterFunc: Auth.authAfterFunc,
LogoutBeforeFunc: Auth.loginOut,
}
//后台退出登陆
func (c *auth) loginOut(r *ghttp.Request) bool {
//删除在线用户状态
authHeader := r.Header.Get("Authorization")
if authHeader != "" {
parts := strings.SplitN(authHeader, " ", 2)
if len(parts) == 2 && parts[0] == "Bearer" && parts[1] != "" {
//删除在线用户状态操作
//service.Online.DeleteOnlineByToken(parts[1])
}
}
g.Log().Info("用户登出", authHeader)
authHeader = r.GetString("token")
if authHeader != "" {
//删除在线用户状态操作
//service.Online.DeleteOnlineByToken(authHeader)
}
response.JsonExit(r, 200, "用户登出成功")
return true
}
}```
你打印出来的token是什么样子?
正常应该传到后段的是 Bearer {token},看一下日志有没有warn或者error
正常 LoginBeforeFunc 返回true就会调用删除token方法
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
我这边测试,删除token正常~可以看下日志,再就是debug看下是否调用removeToken方法;
gf版本和gtoken版本也发下把
登录 后才可以发表评论