欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2020年10月27日 08:30:33   作者:陶士涵  
這篇文章主要介紹了GO語言gin框架實現(xiàn)管理員認(rèn)證登陸接口,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

后臺用戶登錄驗證功能是很多項目的必須要有的邏輯 , 也是常見的技術(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)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • go?mod?tidy報錯:zip:?not?a?valid?zip?file解決辦法

    go?mod?tidy報錯:zip:?not?a?valid?zip?file解決辦法

    這篇文章主要給大家介紹了關(guān)于go?mod?tidy報錯:zip:?not?a?valid?zip?file的解決辦法,go mod是進(jìn)行代碼管理,這錯誤是因為本地分支和遠(yuǎn)程分支沖突,本文通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • Golang實現(xiàn)自己的orm框架實例探索

    Golang實現(xiàn)自己的orm框架實例探索

    這篇文章主要為大家介紹了Golang實現(xiàn)自己的orm框架實例探索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • 徹底理解golang中什么是nil

    徹底理解golang中什么是nil

    這篇文章主要介紹了golang中的nil用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • go打包aar及flutter調(diào)用aar流程詳解

    go打包aar及flutter調(diào)用aar流程詳解

    這篇文章主要為大家介紹了go打包aar及flutter調(diào)用aar流程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Go語言工程實踐單元測試基準(zhǔn)測試示例詳解

    Go語言工程實踐單元測試基準(zhǔn)測試示例詳解

    這篇文章主要為大家介紹了Go語言工程實踐單元測試基準(zhǔn)測試示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • Go設(shè)計模式之備忘錄模式圖文詳解

    Go設(shè)計模式之備忘錄模式圖文詳解

    備忘錄模式是一種行為設(shè)計模式, 允許在不暴露對象實現(xiàn)細(xì)節(jié)的情況下保存和恢復(fù)對象之前的狀態(tài),本文主要通過一些圖片來給大家介紹一下Go的備忘錄模式,需要的朋友可以參考下
    2023-08-08
  • 十個Golang開發(fā)中應(yīng)該避免的錯誤總結(jié)

    十個Golang開發(fā)中應(yīng)該避免的錯誤總結(jié)

    Go是一種靜態(tài)類型的、并發(fā)的、垃圾收集的編程語言,由谷歌開發(fā)。開發(fā)人員在編寫Go代碼時總會有一些常見的錯誤,下面是Go語言中需要避免的十大壞錯誤,希望對大家有所幫助
    2023-03-03
  • go語言通過zlib壓縮數(shù)據(jù)的方法

    go語言通過zlib壓縮數(shù)據(jù)的方法

    這篇文章主要介紹了go語言通過zlib壓縮數(shù)據(jù)的方法,實例分析了Go語言中zlib的使用技巧,需要的朋友可以參考下
    2015-03-03
  • Golang Gin局部和全局中間件使用詳解

    Golang Gin局部和全局中間件使用詳解

    中間件是放在客戶端和服務(wù)端的中間,當(dāng)你的客戶端對某個接口發(fā)起一個請求,但是在到達(dá)接口2之前,這里是有一層中間件的處理。本文詳細(xì)介紹了Golang Gin局部、全局中間件使用方法,感興趣的同學(xué)可以閱讀本文
    2023-04-04
  • 簡單易用的Go逗號comma ok模式使用詳解

    簡單易用的Go逗號comma ok模式使用詳解

    這篇文章主要為大家介紹了簡單易用的Go逗號comma ok模式使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11

最新評論