我封装了个 验证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
}
~~~
```
func IsSessionAdminLogin(w http.ResponseWriter, r *http.Request) bool {
result := false
sess2 := globalsessions.SessionStart(w, r)
getUser := sess2.Get("muser")
if getUser == nil {
//http.Redirect(w, r, "logout", 301)
fmt.Fprintln(w, "没有找到session,重定向到退出Loout")
} else {
result = true
fmt.Fprintln(w, "恭喜!登录成功")
}
return result
}
```
```
func registerPost(w http.ResponseWriter, r *http.Request) {
flag := IsSessionAdminLogin(w, r) //#############这里明显调用和 如果session不存在 直接return结束了,为什么这里还执行了下面的新增代码呢
if flag {
// handle your things
} else {
// redirect
return
}
}
```
#24
更多评论
<a href="/user/channel" title="@channel">@channel</a>
楼主代码应该是想打印确认是否已经登录了,没有返回值没有问题
我今天也遇到这个问题了,看看有没有高手出来指点一下
#2