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


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

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

    通过排查代码发现,此时的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)
    }
    

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

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

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

  • 相关阅读:
    存储器多级结构
    649. Dota2 参议院
    pycharm安装第三方库失败
    python -m pip install --upgrade pip升级失败
    P1149 火柴棒等式
    HTTP详解
    ref与out
    EF查询数据库框架的搭建
    EF查询数据库框架的搭建
    css清除浮动
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/14272908.html
Copyright © 2020-2023  润新知