got logging in to work

This commit is contained in:
Stephen McQuay 2013-02-21 00:36:32 -08:00
parent bc53e1a1ff
commit 669c63d560
2 changed files with 9 additions and 5 deletions

3
db.go
View File

@ -15,6 +15,7 @@ func check_password(attempt string) (result bool) {
if err != nil {
log.Fatal(err)
}
// this feels ultra hokey ... I guess I could take it from 2N to N by |= ...
hashes := []string{}
cmd := "SELECT hash FROM passes;"
db.Execute(cmd, func(s *sqlite3.Statement, values ...interface{}) {
@ -22,7 +23,7 @@ func check_password(attempt string) (result bool) {
hashes = append(hashes, cur_hash)
})
for _, hash := range hashes {
err := bcrypt.CompareHashAndPassword([]byte(hash), []byte(*check_pw))
err := bcrypt.CompareHashAndPassword([]byte(hash), []byte(attempt))
if err == nil {
result = true
return

View File

@ -1,7 +1,6 @@
package main
import (
"log"
"net/http"
)
@ -16,8 +15,12 @@ func homeHandler(w http.ResponseWriter, req *http.Request) {
func loginHandler(w http.ResponseWriter, req *http.Request) {
pwAttempt := req.FormValue("passwd")
// if pw matches, set session.Values["logged in"], then redirect to "/"
// else come back here..
log.Printf("%v\n", pwAttempt)
if check_password(pwAttempt) {
session, _ := store.Get(req, "creds")
session.Values["logged in"] = true
session.Save(req, w)
http.Redirect(w, req, "/", http.StatusSeeOther)
return
}
T("login.html").Execute(w, map[string]interface{}{})
}