jwt for webapp

This commit is contained in:
ston1th 2018-09-12 00:37:13 +02:00
commit 9d332bbda4
5 changed files with 112 additions and 152 deletions

View file

@ -68,9 +68,6 @@ func staticHandler(ctx *Context) {
}
func indexHandler(ctx *Context) {
if !ctx.LoggedOn() {
ctx.UnsetUdata()
}
ctx.Redirect("/wiki/Index", 302)
}
@ -91,7 +88,7 @@ func loginHandler(ctx *Context) {
user := ctx.Form("user")
password := ctx.Form("password")
submit := ctx.Form("submit")
if !ctx.CheckToken(nil) {
if !ctx.CheckXsrf(nil) {
return
}
if user == "" || password == "" || submit != "Login" {
@ -99,13 +96,13 @@ func loginHandler(ctx *Context) {
ctx.Exec()
return
}
err := ctx.Srv.DB.Login(user, password)
u, err := ctx.Srv.DB.Login(user, password)
if err != nil {
ctx.Data.Msg = err.Error()
ctx.Exec()
return
}
ctx.SetUdata(user, ctx.Srv.DB.UserIsAdmin(user))
ctx.SetCookie(map[string]interface{}{"username": u.Username, "admin": u.Admin})
ctx.Redirect("/wiki/Index", 302)
}
}
@ -122,7 +119,7 @@ func searchHandler(ctx *Context) {
case "POST":
search := ctx.Form("search")
submit := ctx.Form("submit")
if !ctx.CheckToken(nil) {
if !ctx.CheckXsrf(nil) {
return
}
if submit != "Search" {
@ -178,7 +175,7 @@ func wikiNewHandler(ctx *Context) {
MD: text,
}
ctx.Data.Data = p
if !ctx.CheckToken(nil) {
if !ctx.CheckXsrf(nil) {
return
}
if submit != "Submit" {
@ -256,7 +253,7 @@ func wikiEditHandler(ctx *Context) {
}
ctx.Data.Title = ftitle
ctx.Data.BodyTitle = ftitle
if !ctx.CheckToken(nil) {
if !ctx.CheckXsrf(nil) {
return
}
if submit != "Submit" {
@ -281,7 +278,7 @@ func wikiDelHandler(ctx *Context) {
f := func() {
ctx.Redirect("/wiki/"+title, 302)
}
if !ctx.CheckToken(f) {
if !ctx.CheckXsrf(f) {
return
}
if submit != "Delete" {
@ -333,7 +330,7 @@ func userNewHandler(ctx *Context) {
adm = true
}
submit := ctx.Form("submit")
if !ctx.CheckToken(nil) {
if !ctx.CheckXsrf(nil) {
return
}
if user == "" || password == "" || password != repeat || submit != "Submit" {
@ -376,7 +373,7 @@ func userEditHandler(ctx *Context) {
adm = true
}
submit := ctx.Form("submit")
if !ctx.CheckToken(nil) {
if !ctx.CheckXsrf(nil) {
return
}
if user == "" || password != repeat || submit != "Submit" {
@ -438,6 +435,6 @@ func userDelHandler(ctx *Context) {
}
func logoutHandler(ctx *Context) {
ctx.UnsetUdata()
ctx.SetCookie(nil)
ctx.Redirect("/wiki/Index", 302)
}