求助:beego GetActiveSession 获取当前活跃的 session 用户

du86796922 · 2017-10-25 11:21:53 · 1764 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2017-10-25 11:21:53 的主题,其中的信息可能已经有所发展或是发生改变。

在使用 GetActiveSession 方法时获取的当期活跃的session用户,一段时间后在测试环境中登录的只有3个人登录,可活跃的session变为3000多,session我保存的是3600秒,不知道怎么解决与定位,session中我存了当前用信息。 球大家帮助解决,求不沉!


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1764 次点击  
加入收藏 微博
3 回复  |  直到 2017-10-25 12:01:04
du86796922
du86796922 · #1 · 8年之前

自己给自己顶!

channel
channel · #2 · 8年之前

是否应该提供下设置和获取 session 的关键代码?

du86796922
du86796922 · #3 · 8年之前

session配置 sscfg := &session.ManagerConfig{ CookieName: "gosessionid", EnableSetCookie: true, Gclifetime: 3600, Maxlifetime: 3600, Secure: false, SessionIDHashFunc: "sha1", SessionIDHashKey: "sessionidkey", CookieLifeTime: 0, ProviderConfig: "", } 存session数据 func (self *LogonController) Post() { defer self.ServeJson() self.Data["host"] = self.Ctx.Request.Host userId := self.Ctx.Request.Form.Get("username") pwd := self.Ctx.Request.Form.Get("pwd") userBasic :=self.Ctx.Request.Form.Get("userbasic") log.Oper(userId, "Logon") sess := self.StartSession() sess.Set("username", userId)//存userID sess.Set("userBash64",userBasic)//存userbash64

if self.IsDefaultUser(userId) {
    self.Data["json"] = self.validateDefaultUser(userId, pwd)
} else {
    self.Data["json"] = self.validateDomainUser(userId, pwd)
}
self.WirteLinkAdd(self.Ctx.Request)

} 取session数据 func(this *ControllerCommon) GetJiraProjectList() string { userBasic :=this.GetCurSessionUserBasic() client := &http.Client{} reqest, _ := http.NewRequest("GET", "http://jira.zte.com.cn/rest/api/2/project/", nil)

reqest.Header.Set("Authorization",userBasic)
reqest.Header.Set("Content-Type","application/json;charset=UTF-8")

response,err := client.Do(reqest)
if err != nil {
    log.Error("NewRequest Get jiraprojectList fail :",  err.Error())
    return ""
}
message, _ := ioutil.ReadAll(response.Body)
return  string(message)

} //获取当前活跃用户数 func(this *ControllerCommon)GetSessionNum() int { return beego.GlobalSessions.GetActiveSession() }

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传