国标GB28181协议视频智能分析人脸/车牌识别平台EasyCVR角色管理账户列表显示错误排查

关于TSINGSEE青犀视频平台内的通道管理和角色管理,是我们对所有平台性能进行重新优化后的功能提升。我们之前的博文和大家分享过EasyCVR给用户分配通道后仍显示所有通道问题排查,在EasyCVR开发测试中,角色管理也出现了相同的问题,下面和大家分享下。

1.png

EasyCVR添加某个普通用户角色过后,给这个角色分配用户,然后用该用户登录后台,发现原本应该只显示该用户的账户列表中,却显示了所有人的列表。

26.png

27.png

通过排查代码发现,此时的sql语句为:

SELECT user.*,t_roles.name as role_name,t_roles.id as role_id FROM “user” left join t_user_roles on user.id = t_user_roles.uid left join t_roles on t_user_roles.rid = t_roles.id LIMIT 10 OFFSET 0

因为sql语句并没有添加筛选用户的条件,所以显示的是所有用户,我们需要添加如下代码,增加筛选条件,解决该问题:

auth := utils.Conf().Section("base_config").Key("api_auth").MustBool(false)
params := make(map[string]string)
for k, v := range c.Request.URL.Query() {
       params[strings.ToLower(k)] = strings.Join(v, ",")
}
if session.Get("uname") != defAdminUser && auth {
       querysql = fmt.Sprintf(`  %s.name='%s'`, userTableName, session.Get("uname"))
       findSqlGorm = findSqlGorm.Where(querysql)
}

再次登录新添加的普通用户,列表返回正常

28.png

EasyCVR视频协议融合平台支持传统网络摄像机、NVR、编码器、SDK等设备,最大程度的提高了硬件设备的兼容性,并且能够对接阿里云、腾讯云、华为云、七牛云等,支持S3和Swift接口的对象存储服务,简单配置,部署更高效,

1.png

如果对EasyCVR有兴趣,欢迎联系我们获取测试账号进行测试,当然TSINGSEE青犀视频其他智能分析平台皆提供测试,更多详情可了解TSINGSEE青犀视频官方网站。

猜你喜欢

转载自blog.csdn.net/EasyNVS/article/details/112364940