首页 > 技术文章 > 视频结构化平台EasyCVR中的默认用户能被删除吗?

easycvr 2021-05-21 09:46 原文

对于大多数平台来说,登录是保证用户资料不丢失的一个重要途径,比如EasyCVR这样的平台,一般都会有一个固定的默认用户,用来做一系列资料的备份,因此EasyCVR默认用户不支持被删除。

但是在某一次测试当中,我们意外地发现了默认用户能被删除的情况,因此我们要对此情况做排查及优化,避免在正式使用中出现这类问题。

 

 通过排查代码发现,此处查询默认用户字段和数据库数据对不上:

 

 

 

 修改代码如下,首先查询数据库中默认用户的id,再与需要删除的用户做出对比,如果包含则不能删除。

defUser := secdefault.Key("default_user").MustString("admin")
dbclient.Where("name = ?", defUser).First(&adminUserModer)
 
guestUserModer := cvrdo.User{}
defGuestUser := secdefault.Key("default_guest_user").MustString("guest2020")
dbclient.Where("name = ?", defGuestUser).First(&guestUserModer)
for _, v := range userid_arr {
       if v == int(adminUserModer.ID) {
              c.IndentedJSON(200, "不能删除管理员用户")
              return
       }
       if v == int(guestUserModer.ID) {
              c.IndentedJSON(200, "不能删除匿名用户")
              return
       }
 
}

 

优化后,再次测试删除功能,则会出现无法删除的提示。

 

 

尽管这个账户不能被删除,但是仍然支持修改用户名,具体方式可以参考:如何修改EasyNVR视频监控系统的登录用户名?

如果大家对EasyCVR的功能及视频直播方式感兴趣,欢迎了解及测试。

推荐阅读