对于大多数平台来说,登录是保证用户资料不丢失的一个重要途径,比如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的功能及视频直播方式感兴趣,欢迎了解及测试。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有