婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > GO語言gin框架實現管理員認證登陸接口

GO語言gin框架實現管理員認證登陸接口

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

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

要實現這個邏輯首先要有數據庫表結構如下:

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的數據

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": "驗證成功,正在跳轉",
    "result": gin.H{
      "token":    token,
      "ref_token":  refToken,
      "create_time": userinfo["create_time"],
    },
  })
}

先忽略掉生成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, 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
}

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

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

標簽:泰安 保定 河池 武漢 黔西 鷹潭 宜春 松原

巨人網絡通訊聲明:本文標題《GO語言gin框架實現管理員認證登陸接口》,本文關鍵詞  語言,gin,框架,實現,管理員,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《GO語言gin框架實現管理員認證登陸接口》相關的同類信息!
  • 本頁收集關于GO語言gin框架實現管理員認證登陸接口的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 尚义县| 鄂伦春自治旗| 渝中区| 同仁县| 通海县| 秭归县| 天长市| 大新县| 瑞安市| 宝清县| 万年县| 河北区| 阳城县| 靖安县| 汤原县| 吉木萨尔县| 胶南市| 渝北区| 五家渠市| 和龙市| 永登县| 综艺| 汝南县| 朔州市| 通州区| 达州市| 尼木县| 锦州市| 孟津县| 越西县| 五大连池市| 顺昌县| 炎陵县| 商洛市| 长岛县| 东方市| 聂拉木县| 湖口县| 靖远县| 比如县| 津南区|