后台用户登录验证功能是很多项目的必须要有的逻辑,也是常见的技术需求 .
要实现这个逻辑首先要有数据库表结构如下:
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框架实现管理员认证登陆接口所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)