golang通用后台管理系统10(退出登录,注销token)

embedded/2024/11/22 13:17:16/

1.实现思路:将登录用户的token加入黑名单

2.

//1.2 用户退出
exploreRouter.POST("/logout", sysCtrl.Logout)

3.loginController.go

//用户退出
func Logout(c *gin.Context) {logger := commonLog.InitLogger()sysUser := service.GetProfile1(c)fmt.Println("UUID=============================" + sysUser.Uuid)blacklist := service.NewBlacklist()logger.Println(constant.LOGINFO() + "用户名称为:"+sysUser.UserName +"; 退出成功!!!")// 将token添加到黑名单blacklist.AddToken(sysUser.Token)
}

4.LoginOutService.go

package service
import (
"sync"
)// Blacklist是一个简单的结构体,用于管理token黑名单
type Blacklist struct {mu    sync.Mutextokens map[string]bool
}// NewBlacklist创建一个新的Blacklist实例
func NewBlacklist() *Blacklist {return &Blacklist{tokens: make(map[string]bool),}
}// AddToken将指定的token添加到黑名单中
func (b *Blacklist) AddToken(tokenString string) {b.mu.Lock()b.tokens[tokenString] = trueb.mu.Unlock()
}// IsTokenBlacklisted检查指定的token是否在黑名单中
func (b *Blacklist) IsTokenBlacklisted(tokenString string) bool {b.mu.Lock()defer b.mu.Unlock()b2 := b.tokens[tokenString]return b2 && b.tokens[tokenString] == true
}


http://www.ppmy.cn/embedded/139286.html

相关文章

Android中常见CPU异常使用场景和解决方案

在Android开发中,常见的CPU异常使用场景通常发生在代码逻辑设计或性能优化不当时,这些问题可能导致CPU使用率过高、频繁的性能问题或耗电问题。以下是一些常见场景和导致的原因: 1. 无限循环导致高CPU使用率 场景 代码中出现了无条件的或错…

【pytorch-01】:张量的创建、转换和拼接

文章目录 1 张量的创建1.1 根据已有的数据创建张量1.2 创建指定形状的张量1.3 创建指定类型的张量1.4 创建线性张量1.5 创建随机张量1.6 创建全为0的张量1,7 创建全为1的张量1.8 创建全为指定值的张量1.9 张量元素类型转换 2 张量运算2.1 张量的基本运算2.2 阿达玛积2.3 点积运…

docker 相关命令

一、docker 相关 1、查看docker 状态 sudo systemctl status docker2、启动docker sudo systemctl start docker二、镜像相关 1、 查看docker中的镜像 docker images 2、拉取镜像 docker pull elasticsearch:7.6.0 docker pull [服务]:[版本] 问题 可能出现 Error res…

Linux 中grep命令

一、grep是对数据进行过滤查早关键字 源数据可以是 文件内容 grep hello /opt/hello.txt,找出存在hello的那一行. 命令的执行结果 ,这个需要结合管道符使用,cat /etc/passwd | grep root 测试样本文件 I teach linux.I like python.My qq…

国标GB28181摄像机接入EasyGBS国标GB28181设备管理软件:GB28181-2022媒体传输协议解析

随着信息技术的飞速发展,视频监控领域正经历从传统安防向智能化、网络化安防的深刻转变。在这一转变过程中,国标GB28181设备管理软件EasyGBS成为了这场技术变革的重要一环。 GB28181-2022媒体传输协议 媒体传输命令包括实时视音频点播、历史视音频回放/…

用 Python 与 Turtle 创作属于你的“冰墩墩”!

用 Python 与 Turtle 创作属于你的“冰墩墩”! 🦀 前言 🦀🐋 效果图 🐋🐉 代码 🐉 🦀 前言 🦀 冰墩墩是2022年北京冬季奥林匹克运动会的官方吉祥物。以熊猫为原型&#x…

K8S containerd拉取harbor镜像

前言 接前面的环境 K8S 1.24以后开始启用docker作为CRI,这里用containerd拉取 参考文档 正文 vim /etc/containerd/config.toml #修改内容如下 #sandbox_image "registry.aliyuncs.com/google_containers/pause:3.10" systemd_cgroup true [plugins.…

全自动PPT转视频解决方案:PPT + TTS + 自动化处理

一、概述 本文介绍如何使用Python实现PPT自动转换为视频的完整流程,包括PPT处理、文本提取、语音合成和视频生成,全程无需人工干预。 二、所需环境和库 pip install python-pptx pip install azure-cognitiveservices-speech pip install moviepy pip…