Save hashed PW. Simplify model update. Bugfixes & improvements. Working user-settings & games.

This commit is contained in:
MaxJa4
2024-01-18 19:00:32 +01:00
parent f8ac93f163
commit f2ab72ba1e
20 changed files with 310 additions and 113 deletions

View File

@@ -1,7 +1,9 @@
package main
import (
"InfrantrySkillCalculator/models"
"InfantrySkillCalculator/controllers"
"InfantrySkillCalculator/models"
"InfantrySkillCalculator/utils"
"github.com/gin-gonic/gin"
"html/template"
"log"
@@ -44,7 +46,7 @@ func mainPage(c *gin.Context) {
}
func loginPage(c *gin.Context) {
session, _ := store.Get(c.Request, LoginSessionName)
session, _ := utils.Store.Get(c.Request, utils.LoginSessionName)
if auth, ok := session.Values["authenticated"].(bool); ok && auth {
c.Redirect(http.StatusFound, "/")
@@ -71,7 +73,7 @@ func loginPost(c *gin.Context) {
return
}
session, _ := store.Get(c.Request, LoginSessionName)
session, _ := utils.Store.Get(c.Request, utils.LoginSessionName)
session.Values["authenticated"] = true
session.Values["username"] = username
err := session.Save(c.Request, c.Writer)
@@ -85,7 +87,7 @@ func loginPost(c *gin.Context) {
}
func logout(c *gin.Context) {
session, _ := store.Get(c.Request, LoginSessionName)
session, _ := utils.Store.Get(c.Request, utils.LoginSessionName)
session.Values["authenticated"] = false
err := session.Save(c.Request, c.Writer)
if err != nil {
@@ -97,7 +99,7 @@ func logout(c *gin.Context) {
}
func registerPage(c *gin.Context) {
session, _ := store.Get(c.Request, LoginSessionName)
session, _ := utils.Store.Get(c.Request, utils.LoginSessionName)
if auth, ok := session.Values["authenticated"].(bool); ok && auth {
c.Redirect(http.StatusFound, "/")
@@ -125,13 +127,18 @@ func registerPost(c *gin.Context) {
return
}
user := models.User{Username: username, Password: password, Enabled: true}
models.DB.Create(&user)
hashedPassword, err := hashPassword(password)
if err != nil {
c.HTML(http.StatusOK, "login_error.html", gin.H{"message": "Fehler beim Registrieren!"})
return
}
session, _ := store.Get(c.Request, LoginSessionName)
controllers.CreateUser(username, hashedPassword, true, code)
session, _ := utils.Store.Get(c.Request, utils.LoginSessionName)
session.Values["authenticated"] = true
session.Values["username"] = username
err := session.Save(c.Request, c.Writer)
err = session.Save(c.Request, c.Writer)
if err != nil {
c.JSON(http.StatusInternalServerError, nil)
return