[GO] GO语言gin框架实现管理员认证登陆接口

[GO] GO语言gin框架实现管理员认证登陆接口,第1张

概述后台用户登录验证功能是很多项目的必须要有的逻辑 , 也是常见的技术需求 . 要实现这个逻辑首先要有数据库表结构如下: CREATE TABLE `user` ( `id` int(11) NOT NU

后台用户登录验证功能是很多项目的必须要有的逻辑,也是常见的技术需求 .

要实现这个逻辑首先要有数据库表结构如下:

CREATE table `user` ( `ID` int(11) NOT NulL auto_INCREMENT,`name` varchar(50) NOT NulL DEFAulT '',`password` varchar(100) NOT NulL DEFAulT gin.Context) {    password := c.PostForm("password")    username := c.PostForm(username)    info,uRole,ok := CheckKefuPass(username,password)    userinfo := make(map[string]interface{})    if !ok {        c.JsON(200code": 400msg":  验证失败return    }    userinfo[name"] = info.name    userinfo[kefu_ID info.ID    userinfo[type"] = kefu"    if uRole.RoleID != 0 {        userinfo[role_ID uRole.RoleID    } else2create_time time.Now().Unix()    token,_ := tools.Maketoken(userinfo)    userinfo[ref_token"] = true    refToken,1)"> tools.Maketoken(userinfo)    c.JsON(验证成功,正在跳转result: gin.H{            token:       token,1)">:   refToken,1)">": userinfo[],},})}

先忽略掉生成token部分,只看查询数据库用户名密码部分

func CheckKefuPass(username string,password string) (models.User,models.User_role,bool) {    info := models.FindUser(username)    var uRole models.User_role    if info.name == "" || info.Password != tools.Md5(password) {        return info,1)">false    }    uRole = models.FindRoleByUserID(info.ID)    }

 

model里面

func FindUser(username string) User {     user User    DB.Where(name = ?",username).First(&user)     user}

 

总结

以上是内存溢出为你收集整理的[GO] GO语言gin框架实现管理员认证登陆接口全部内容,希望文章能够帮你解决[GO] GO语言gin框架实现管理员认证登陆接口所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1257442.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存