RTSP协议网络摄像头视频平台EasyNVR网页无插件播放,匿名登录不显示设备资源如何解决?

news/2024/11/8 6:52:02/

EasyNVR视频平台的登录方式有两种,一种是用户名登录,也就是需要输入用户名密码,一般在企业内部,管理人员可以设置可登录人员,并分配用户名和密码用于登录;另一种就是匿名登陆,这种登录方式相当于游客登录,匿名登录状态下,游客可以查看内容,但不能添加设备做配置,当然,实际使用时如果不需要此功能,在我们登录鉴权页面是可以关闭匿名登陆的。

今天,与大家分享的是TSINGSEE青犀视频团队在浏览器测试EasyNVR新版功能的时候,偶然发现在匿名登陆下,设备分组下并不显示设备资源,而在用户登陆下就能够正常显示。

91.png

92.png

我调出了开发者模式,通过浏览器观察调用接口的返回数据,可以看到使用匿名登陆查看接口返回的数据为空,所以在前端没有显示内容。

93.png

而使用管理员登录查看接口返回的数据是有内容的。

94.png

由此可知,是后端返回数据导致的使用匿名登录为空,从而导致前端设备分组资源为空。于是我看了下后端代码,发现是此处逻辑有问题,游客账号和管理员账号拥有一样的权限,缺少了对游客账号的判断。

if uname != defAdminUser {selectStr := fmt.Sprintf(`%s.label_id,%s.name as label_name`, labelChannelTableName, labelTableName)joinStr := fmt.Sprintf(`left join %s on %s.rid=%s.role_id left join %s on %s.camera_id=%s.id left join %s on %s.camera_id=%s.id   left join %s on %s.label_id=%s.id`, roleChannelTableName, userRoleTableName, roleChannelTableName, channelTableName, roleChannelTableName, channelTableName,labelChannelTableName, labelChannelTableName, channelTableName, labelTableName,labelChannelTableName, labelTableName)wherestr := fmt.Sprintf(`%s.uid=?`, userRoleTableName)dbclient = dbclient.Table(userRoleTableName).Select(selectStr).Joins(joinStr).Where(wherestr, uid)
} else {selectStr := fmt.Sprintf(`%s.label_id,%s.name as label_name`, labelChannelTableName, labelTableName)joinStr := fmt.Sprintf(`left join %s on %s.camera_id=%s.id left join %s on %s.label_id=%s.id`,labelChannelTableName, labelChannelTableName, channelTableName, labelTableName, labelChannelTableName, labelTableName)dbclient = dbclient.Table(channelTableName).Select(selectStr).Joins(joinStr)
}

修改逻辑后,修改代码为:

if uname != defAdminUser && uname != defGuestUser {selectStr := fmt.Sprintf(`%s.label_id,%s.name as label_name`, labelChannelTableName, labelTableName)joinStr := fmt.Sprintf(`left join %s on %s.rid=%s.role_id left join %s on %s.camera_id=%s.id left join %s on %s.camera_id=%s.id   left join %s on %s.label_id=%s.id`, roleChannelTableName, userRoleTableName, roleChannelTableName, channelTableName, roleChannelTableName, channelTableName,labelChannelTableName, labelChannelTableName, channelTableName, labelTableName,labelChannelTableName, labelTableName)wherestr := fmt.Sprintf(`%s.uid=?`, userRoleTableName)dbclient = dbclient.Table(userRoleTableName).Select(selectStr).Joins(joinStr).Where(wherestr, uid)
} else {selectStr := fmt.Sprintf(`%s.label_id,%s.name as label_name`, labelChannelTableName, labelTableName)joinStr := fmt.Sprintf(`left join %s on %s.camera_id=%s.id left join %s on %s.label_id=%s.id`,labelChannelTableName, labelChannelTableName, channelTableName, labelTableName, labelChannelTableName, labelTableName)dbclient = dbclient.Table(channelTableName).Select(selectStr).Joins(joinStr)
}

修改过后匿名登陆的情况下也可以显示设备资源了:

95.png

 

EasyNVR流媒体解决方案


EasyNVR是由TSINGSEE青犀视频团队自主研发,它能够通过简单的网络摄像机通道配置,将传统监控行业里面的高清网络摄像机IP Camera、NVR等具有RTSP协议输出的设备接入到EasyNVR,EasyNVR能够将这些视频源的音视频数据进行拉取,转换为RTMP/HLS,进行全平台终端H5直播(Web、Android、iOS),并且EasyNVR能够将视频源的直播数据对接到第三方CDN网络,实现互联网级别的直播分发,EasyNVR的主要建设目标是将各种各样的安防摄像机、NVR进行统一接入和管理,并控制流的按需输出,对全平台终端提供统一的标准H5流输出。


http://www.ppmy.cn/news/839549.html

相关文章

宇视摄像机媒体流达到上限

录像机/摄像机实况报错媒体流已达上限 过程分析:媒体流已达上限,说明流用完 解决方法: (1)在摄像机的网页界面配置-音视频-媒体流管理中删除媒体流 (2)对摄像机进行升级 (3&#…

定制的视频监控球机接入EasyCVR后通道不显示的原因排查

EasyCVR基于云边端智能协同,具有强大的数据接入、处理及分发能力,平台可支持多协议接入,包括市场主流标准协议与厂家私有协议及SDK,如:国标GB28181、RTMP、RTSP/Onvif、海康Ehome、海康SDK、宇视SDK等(具体…

RTSP/Onvif安防视频云平台EasyNVR显示视频流却播放不了,是什么原因?

EasyNVR是基于RTSP/Onvif协议的视频平台,拥有视频监控直播、录像、云存储、检索与回看、国标级联等视频能力,可支持将接入的视频流进行全平台、全终端的分发,分发的视频流包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等格式。 有用户反馈&…

视频安防智能监控系统管理平台EasyNVS手机端扫码直播展示无信号但是PC端可以播放是什么原因?

为了更加便捷管理TSINGSEE青犀视频开发的视频智能安防监控系统,我们在前期就开发了支持EasyNVR平台的综合管理系统EasyNVS,当然综合管理的需求越来越旺盛,今年我们又拓宽了EasyNVS的接入。目前EasyDSS也可以通过接入EasyNVS的新版管理平台进行…

互联网未来信任锚点,后量子计算标准与迁移势在必行

作者 | 宋慧 出品 | CSDN 云计算 图片 | 视觉中国 IT、数字化正在深刻改变和加速全行业的效率与创新。不过,互联网的信息通信安全基石——密码学技术仍在使用第一代公钥密码算法,而随着量子计算的产生发展,以离散对数和大数分解这类等价的数…

字符串函数和字符函数

文章目录 前言strlen()实现strlen() strcpy()模拟实现 strcat()strcat()模拟实现 strcmp()模拟实现strcmp() strstr()模拟实现strstr() strncpy(),strncmp(),strncat()strtok()memcpy()memcpy()的模拟实现 memmove()memmove()的模…

多方案满足户外电源A口、C口、大功率PD快充等需求

最近几年,自驾游、垂钓、野餐露营、追光摄影等户外生活方式逐渐流行开来。在户外,为手机、笔记本电脑、无人机、相机等数码设备供电成了必须解决的问题,这就带来了户外电源市场的大爆发。面对不同的充电装备,户外电源需要解决不同…

PCIE switch 连接绿联SSD

硬件平台:jetson xavier PM4000开发板(100 lane) G7200 1.使用绿联的G7200 2.PM4000 的statck5连接xavier,statck0 的port0 连接通过线缆连接绿联G7200 3.先给PM4000上电,再给xavier开机。 可以看到03:00.0即SSD,如下的详细信息 通过chiplink工具查看…