простая веб-аутентификация - PullRequest
0 голосов
/ 11 июля 2019

Я создаю простую веб-аутентификацию golang.

Я нашел простой пример с куки, но он не работает.

  • Если я заполню текстовые поля и нажму на кнопку, реакции не будет.
  • Если я печатаю r.Header ["Cookie"] [0]

Он выводит md5 и является постоянным, даже если я что-то пишу в текстовых полях

перейти:

package main

import (
    "net/http"
    "html/template"
)

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        url := "path/to/login.html"  //login page
        if len(r.Header["Cookie"]) != 0 && r.Header["Cookie"][0] == "auth=your_MD5_cookies" {
            url = "path/to/index.html" //page after login
        }
        t, _ := template.ParseFiles(url); t.Execute(w, "")
    })
    http.Handle("/js/", http.FileServer(http.Dir("path/to")))
    http.ListenAndServe(":8000", nil)

login.html

<html>
<head>
    <script src="js/jquery-3.3.1.min.js"></script>
    <script src="js/js.cookie.min.js"></script>
    <script src="js/jquery.md5.min.js"></script>
</head>
<body>
    <p>Login: <input id="login" type="text" /></p>
    <p>Password: <input id="pwd" type="password" /></p>
    <button id="button">Войти</button>
    <script>
        $('#button').on('click', function () {
            var auth = $.MD5($("#login").val()+$("#pwd").val());
            Cookies.set("auth", auth);
            location.reload();
        });
     </script>
</body>
</html>
...