我封装了个 验证session是否存在 函数,
并且我在 http的每个访问路由页面都调用了
**我想问下 大家在不用任何框架的情况下 如何验证是否登录状态的**
~~~
然后我一些用户中心的页面头部都加了这个一个调用函数,
但是我尝试谢了个post接收的接口 就在第一句就加了这个,当尝试注册的时候既然通过了注册成功
虽然他提示 没有找到session 但是后面的代码他依然执行了 不知道为什么!
IsSessionAdminLogin(w, r)
~~~
~~~
func IsSessionAdminLogin(w http.ResponseWriter, r *http.Request) {
//result := false
sess2 := globalsessions.SessionStart(w, r)
getUser := sess2.Get("muser")
if getUser == nil {
//result = false
//http.Redirect(w, r, "logout", 301)
fmt.Fprintln(w, "没有找到session,重定向到退出Loout")
return
} else {
//result = true
fmt.Fprintln(w, "恭喜!登录成功")
return
}
//return result
}
~~~
唉,你这代码犯了一个低级错误!你返回的是IsSessionAdminLogin(w, r) 这个函数,又没加返回值叛段是否继续,标准库默认是继续往下走的,虽然你IsSessionAdminLogin(w, r) 里面有resp.
#22
更多评论
<a href="/user/channel" title="@channel">@channel</a>
楼主代码应该是想打印确认是否已经登录了,没有返回值没有问题
我今天也遇到这个问题了,看看有没有高手出来指点一下
#2