好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > GO語言gin框架實現(xiàn)管理員認(rèn)證登陸接口

GO語言gin框架實現(xiàn)管理員認(rèn)證登陸接口

熱門標(biāo)簽:谷歌美發(fā)店地圖標(biāo)注 地圖區(qū)域圖標(biāo)注后導(dǎo)出 400開頭電話怎樣申請 官渡電銷外呼管理系統(tǒng)怎么收費 貴州電話智能外呼系統(tǒng) 利用地圖標(biāo)注位置 赤峰電銷 江蘇呼叫中心外呼系統(tǒng)有效果嗎 杭州人工智能電銷機器人費用

后臺用戶登錄驗證功能是很多項目的必須要有的邏輯 , 也是常見的技術(shù)需求 .

要實現(xiàn)這個邏輯首先要有數(shù)據(jù)庫表結(jié)構(gòu)如下:

CREATE TABLE `user` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `name` varchar(50) NOT NULL DEFAULT '',
 `password` varchar(50) NOT NULL DEFAULT '',
 `nickname` varchar(50) NOT NULL DEFAULT '',
 `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
 `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
 `deleted_at` timestamp NULL DEFAULT NULL,
 `avator` varchar(100) NOT NULL DEFAULT '',
 PRIMARY KEY (`id`),
 KEY `idx_name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

gin框架路由入口去獲取post的數(shù)據(jù)

func LoginCheckPass(c *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(200, gin.H{
      "code": 400,
      "msg": "驗證失敗",
    })
    return
  }
  userinfo["name"] = info.Name
  userinfo["kefu_id"] = info.ID
  userinfo["type"] = "kefu"
  if uRole.RoleId != 0 {
    userinfo["role_id"] = uRole.RoleId
  } else {
    userinfo["role_id"] = 2
  }
  userinfo["create_time"] = time.Now().Unix()

  token, _ := tools.MakeToken(userinfo)
  userinfo["ref_token"] = true
  refToken, _ := tools.MakeToken(userinfo)
  c.JSON(200, gin.H{
    "code": 200,
    "msg": "驗證成功,正在跳轉(zhuǎn)",
    "result": gin.H{
      "token":    token,
      "ref_token":  refToken,
      "create_time": userinfo["create_time"],
    },
  })
}

先忽略掉生成token部分 ,只看查詢數(shù)據(jù)庫用戶名密碼部分

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, uRole, false
  }
  uRole = models.FindRoleByUserId(info.ID)

  return info, uRole, true
}

model里面

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

到此這篇關(guān)于GO語言gin框架實現(xiàn)管理員認(rèn)證登陸接口的文章就介紹到這了,更多相關(guān)GO語言實現(xiàn)管理員認(rèn)證登陸接口內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 一篇文章帶你玩轉(zhuǎn)go語言的接口
  • 分析Go語言接口的設(shè)計原則
  • Go語言-為什么返回值為接口類型,卻返回結(jié)構(gòu)體
  • go語言實現(xiàn)接口查詢
  • Go語言使用swagger生成接口文檔的方法
  • Go語言的接口詳解

標(biāo)簽:泰安 保定 河池 武漢 黔西 鷹潭 宜春 松原

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《GO語言gin框架實現(xiàn)管理員認(rèn)證登陸接口》,本文關(guān)鍵詞  語言,gin,框架,實現(xiàn),管理員,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《GO語言gin框架實現(xiàn)管理員認(rèn)證登陸接口》相關(guān)的同類信息!
  • 本頁收集關(guān)于GO語言gin框架實現(xiàn)管理員認(rèn)證登陸接口的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: chinese无套小帅gayxnxx| 溪夕汐(完结)小说免费阅读| 欧美一区二区三区免费A片老妇人 久久久精品久久久欧美俄罗乱妇 国产AV无码亚洲AV毛片菲菲 | 美国电影《浴室吃奶》| 欧美三级 欧美一级| 91情侣在线| yy4480新视觉影院| 老太高潮一级毛片免费水大的| 欧美国产亚洲18| 成人国产AV精品秘?| 爱爱炮打影院| 嗯啊嗯啊哈| 欧洲尺码日本尺码美国欧洲lv| 潜规则h| zljzljzljzljxljzljzlj亚洲| 男男同性| 很黄的孕妇a级黄毛片| 黄金网站app观看大全代码| 色中文字幕| 《被按摩的人妻中文字幕》| 99久久亚洲欧美天堂狼人久久碰| 国产伦精品一区二区三区免费舒淇| 午夜激情免费| 娇妻满足我的暴露全文| 麻豆精品国产熟妇澳门体彩| 国产精品一二| 99国产精品一区二区毛卡片色戒| 成人在线视屏| 国产日韩欧美一区二区三区在线| 爱夜夜性夜夜夜夜夜夜爽| 国产精品无圣光在线一区| 王多鱼被c视频是真的吗| 刺客伍六七第四季在线观看| 精品人妻无码一区二区三区百度| 国产 亚洲 丝袜 制服 精品| 国产精品18久久久久久不卡| 国产91??丝袜在线播放| 99久久国产精品免费热7788体验| 97年极品白嫩漂亮女神| 国产美女a做受大片免费| 麦克白夫人|