Blob: auth.go
Blob id: 283507130e8a8e05e56de61e29ac68ec27f3421a
Size: 994 B
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | package auth import ( "github.com/gin-contrib/sessions" "github.com/gin-gonic/gin" ) func Login(c *gin.Context) { c.HTML(200, "login.html", gin.H{}) } func LoginPost(c *gin.Context) { session := sessions.Default(c) username := c.PostForm("username") password := c.PostForm("password") if password != "" && username != "" { if username != "mirri" || password != "kissa" { c.HTML(401, "login.html", gin.H{"Error": "Käyttäjää ei löytynyt"}) return } session.Set(userkey, username) if err := session.Save(); err != nil { c.HTML(500, "login.html", gin.H{"Error": "Ongelmissa"}) return } c.Redirect(302, "/") return } c.HTML(200, "login.html", gin.H{}) } func Logout(c *gin.Context) { session := sessions.Default(c) user := session.Get(userkey) if user == nil { c.Redirect(302, "/") return } session.Delete(userkey) if err := session.Save(); err != nil { c.JSON(500, gin.H{"error": "session save failed"}) return } c.Redirect(302, "/") } |