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

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

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

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

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

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

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

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

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

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

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)
}

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

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

 

EasyNVR流媒体解决方案

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

原创:https://www.panoramacn.com
源码网提供WordPress源码,帝国CMS源码discuz源码,微信小程序,小说源码,杰奇源码,thinkphp源码,ecshop模板源码,微擎模板源码,dede源码,织梦源码等。

专业搭建小说网站,小说程序,杰奇系列,微信小说系列,app系列小说

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

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可-> 联系客服 投诉资源
www.panoramacn.com资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:2640602276@qq.com
未经允许不得转载:书荒源码源码网每日更新网站源码模板! » RTSP协议网络摄像头视频平台EasyNVR网页无插件播放,匿名登录不显示设备资源如何解决?
关注我们小说电影免费看
关注我们,获取更多的全网素材资源,有趣有料!
120000+人已关注
分享到:
赞(0) 打赏

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

您的打赏就是我分享的动力!

支付宝扫一扫打赏

微信扫一扫打赏