使用GIn-Gonic进行用户登录

时间:2018-07-01 01:07:51

标签: go

在使用gin-gonic进行W​​eb应用程序登录时,我遇到了一些麻烦。我目前正在使用API​​。在这里我可以提出入境请求。这是我的代码段:

主要

// LOGIN
router.GET("/login", loginUser)
router.POST("/login", login)

登录功能代码段

// LOGIN FUNCTIONS

func loginUser(c *gin.Context) {
c.HTML(200, "login.html", gin.H{})

}

func login(c *gin.Context) {


email := c.PostForm("email")
password := c.PostForm("password")



r := gin.Default()
r.LoadHTMLGlob("templates/*")
r.POST("/api/user/login", func(c *gin.Context) {
    var json common.Login
    if err := common.Bind(c, &json); err == nil {

        if json.Email == email && json.Password == password {
            c.JSON(200, gin.H{"email":email, "password": password,})
            fmt.Println(email)
            fmt.Println(password)       

        } else {
            c.JSON(401, common.NewError("user", errors.New("wrong username or password")))
            c.HTML(404, "404notification.html", gin.H{})

        }
        c.HTML(200, "notification.html", gin.H{"email": email})

    } else {
        c.JSON(422, common.NewValidatorError(err))
    }
})
r.Run()




}

如您所见,我正在尝试发布请求我的凭据才能登录。

当我在函数loginUser中的表单框上单击“提交”时-登录会收到发布请求,然后在成功时将自身重定向到html,在错误时将自身重定向到404error html。

我不知道我的理解是否正确,这是我第二天学习此技巧以制作Web应用程序。帮助请

1 个答案:

答案 0 :(得分:0)

您使用文件扩展名(.html)。是否要使用母版页?

如果要使用母版页,则无需编写任何扩展名,例如“ home / index”。

如果您不想使用母版页,则编写完整路径“ home / index.html”