1

我正在使用 gin 框架,当用户已经登录时,我将登录重定向到主页。它在主页上显示了这个 html 元素。

<a href="/signin">Found</a> "."

如何从应用程序中禁用该元素?

这是我的应用程序代码。

func GetSignIn(c *gin.Context) {
    // Get session from cookie. Check if email exists
    // redirect to Home page else show signin page.
    session := sessions.Default(c)
    if session.Get("email") != nil {
        fmt.Println(session.Get("email"))
        c.Redirect(302, "/")
    }
    c.HTML(200, "signin.html", "")
}

看起来,这是一个 Go 的东西 https://github.com/golang/go/blob/master/src/net/http/server.go#L2014

但我不确定,如何禁用它。如果有人指导我会很棒。

谢谢!

4

1 回答 1

1

是的,看起来这是一个 Go 的东西,你不能禁用它。我建议你像 Gin 一样编写自己的Redirect结构render.Redirect(你可以将它嵌入到你的新结构中以避免一些复制粘贴):

https://github.com/gin-gonic/gin/blob/master/render/redirect.go

Render根据代码为新结构编写自己的方法net/http,然后像这样使用重定向:

https://github.com/gin-gonic/gin/blob/32cab500ecc71d2975f5699c8a65c6debb29cfbe/context.go#L476

我认为这是绕过这种net/http重定向行为的最简单方法。

于 2017-06-04T12:53:54.077 回答