Gewusst wie: löschen von Cookies

Schrieb ich eine web-Anwendung, die ein cookie und löschen Sie Sie. Zu klären Szenario, was ich meine, betrachten Sie den folgenden code-snippet.

package main

import (
    "fmt"
    "github.com/gorilla/mux"
    "net/http"
    "time"
)

func rootHandler(rw http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(rw, "Hello Foo")

}

func setCookieHandler(rw http.ResponseWriter, r *http.Request) {
    c := &http.Cookie{
        Name:     "storage",
        Value:    "value",
        Path:     "/",
        MaxAge:   0,
        HttpOnly: true,
    }

    http.SetCookie(rw, c)
}

func deleteCookieHandler(rw http.ResponseWriter, r *http.Request) {

    c, err := r.Cookie("storage")
    if err != nil {
        panic(err.Error())
    }
    c.Name = "Deleted"
    c.Value = "Unuse"
    c.Expires = time.Unix(1414414788, 1414414788000)
}

func readCookieHandler(rw http.ResponseWriter, r *http.Request) {

    c, err := r.Cookie("storage")
    if err != nil {
        panic(err.Error())
    }
    fmt.Println(c.Expires)
}

func evaluateCookieHandler(rw http.ResponseWriter, r *http.Request) {

    c, err := r.Cookie("storage")
    if err != nil {
        panic(err.Error())
    }

    if time.Now().After(c.Expires) {
        fmt.Println("Cookie is expired.")
    }
}

func main() {
    mux := mux.NewRouter()
    mux.HandleFunc("/", rootHandler)
    mux.HandleFunc("/cookie", setCookieHandler)
    mux.HandleFunc("/delete", deleteCookieHandler)
    mux.HandleFunc("/read", readCookieHandler)
    mux.HandleFunc("/eval", evaluateCookieHandler)

    http.ListenAndServe(":3000", mux)
}

Wie Sie sehen können, wenn ich Besuch /cookie Lage, es wird ein cookie gesetzt, wie erwartet. Wenn ich dann aufrufen /löschen, es sollte den Namen ändern, den Wert und die abgelaufene Zeit von cookie. Die abgelaufene Zeit geändert wird, aber name und Wert nicht.

Gewusst wie: löschen von Cookies

Was ich will, ist, löschen Sie die Cookies aus dem browser für die Abmeldung im system-Authentifizierung, wenn Benutzer klicken Sie auf " Abmelden-button zum löschen von cookie.

Entdecke ich auch dieser link und befolgen Sie die Ratschläge, aber funktioniert nicht wie erwartet.

InformationsquelleAutor zero_coding | 2014-12-27
Schreibe einen Kommentar