网络穿透/动态组网/视频上云网关EasyNTS组网平台输入账号和密码无法登陆,如何解决?

EasyNTS作为视频上云网关,具备视频组网、远程运维等功能,上线前会经过研发部-测试部-项目部多重测试,在这个过程中不断完善产品。

近期我们的开发人员测试EasyNTS的兼容性,发现当在相同的服务器下,如果同时部署了EasyNTS和EasyNVS,在同一浏览器去访问两个服务的web页面,这时假如先登录EasyNVS,就会导致EasyNTS无法登陆;假如直接进入EasyNTS,则会显示网络请求失败。

原因分析

原因是登录EasyNVS之后向Cookie中设置了token,EasyNTS在发送请求之后,拿到了EasyNVS的token进行验证,然而肯定是验证失败的,所以导致无法登录。

Cookie中的值:

EasyNVS登录之后EasyNTS就报错:

解决问题

一开始验证用户是否登陆,是首先通过token进行验证的,但是EasyNTS并不是通过token,是通过sid作为键获取对应的值来进行验证的。所以将EasyNTS中的token验证的代码给去除就可以了。

// 判断用户是否已经登录
func userIsLogin(c *gin.Context) (bool, error) {
 
   token := sessions.GetToken(c)
 
   // 如果查找到了 token
   if token != consts.EmptyString {
      username, password, str := security.ResolveToken(token)
      if str == consts.EmptyString && username != consts.EmptyString && password != consts.EmptyString {
         // 从 session 中获取用户 ID 同 token 中解析,二次验证防止出错
         userID := sessions.GetUserID(c)
         if userID == username {
            return true, nil
         } else {
            return false, errors.New("Session信息与令牌信息不一致,请重新登录!")
         }
      } else {
         return false, errors.New("令牌已过期,请重新登录!")
      }
   }
 
   return false, errors.New("未查找到令牌信息,请重新登录!")
}

  

解决之后就可以正常使用,正常登录:

更多关于EasyNTS云组网

  • 稳定可靠
    强大的服务器群支持组网环境,多类型服务器可供选择,高性能,高可用;
  • 简单易用
    基于动态组网服务创建智能网络,按需选择需要组网的网络成员实现点点互联;
  • 数据安全
    采用MQTT加密协议,具有运算速度快,安全性高,资源损耗低的优势;
  • 高效管理
    通过网页集中管理每个网点,彻底解决部署复杂,维护低效的问题。

如想详细了解,可进入TSINGSEE青犀视频进行浏览查阅。TSINGSEE青犀视频团队专注于计算机视觉、模式识别领域的开发与研究, 主力产品涵盖支持ONVIF、RTSP、GB/T28181等多协议、多路数的智能分析服务器。主要产品包括EasyGBS国标视频云服务、EasyDSS互联网视频云服务、EaayCVR安防视频云服务、EasyRTC视频会议云服务、EasyNVR视频边缘计算网关、EasyNTS上云网关等等,同时还拥有EasyDarwin开源社区及开放平台。

EasyDarwin是国内视频流媒体团队TSINGSEE青犀视频开发和维护的开源社区。从2012年12月创建并发展至今,从原有的单服务的流媒体服务器形式,扩展成现在的云平台架构的开源项目。

 
posted on 2020-09-23 10:33  EasyNVR  阅读(138)  评论(0编辑  收藏  举报