Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

扩展用户组和主用户组有效期混淆的BUG

[复制链接]
singcee 发表于 2015-1-14 13:52:12 | 显示全部楼层 |阅读模式
DISCUZ扩展用户组是一个非常有用的功能,可以让一个用户同时拥有多重角色,可以在角色直接来回切换。非常好的一个功能,可是我在开发关于扩展用户的插件是发现了很多BUG,我甚至怀疑到底有多少站长在使用这个功能。之前的BUG以前修复了。今天反馈一个新发现的BUG
这个BUG是关于 用户组 mian   扩展用户组 ext    的有效期,按以下步骤操作就可以重显这个BUG
1 在后台用户管理 对一个用户 选择一个扩展用户 ,并且对扩展用户设置有效期(用户组不设置)


2  BUG1 在用户个人资料栏目的显示 ,给扩展用户设置的有效其显示在了主用户组后面。


3  BUG2 扩展用户组有效期到期后,提示用户 用户组到期 要求切换到 扩展用户组 (实际上到期的是扩展用户组,并不是当前主用户组 更本不需要这种切换)显然系统完全把扩展用户组的有效期作为主用户组的有效期处理了。


分析这个BUG 应该是程序员对 用户表数据结构设计不合理或者处理不当导致。在 common_member 有一个字段 groupexpiry 是记录用户组有效期的,但是貌似这个字段的设计不大合理,如果你修改主用户组的有效期 这个字段就记录主用户组的有效期时间,如果你增加了扩展用户组 那么这个字段就记录扩展用户组的有效期,如果有多个扩展用户组  它也只能记录一个最大的时间值。 而实际上 在common_member_field_forum表 有一个字段 groupterms 详细记录了每个用户组 的有效期,设计非常到位和合理。
前面2个BUG的出现 就是因为 程序员把 Common_member 的 groupexpiry 作为唯一的用户组有效期处理了,完全没有考虑 common_member_field_forum 的 groupterms 的作用。
建议取消  Common_member 的 groupexpiry 或 替代 groupterms 。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-2-25 00:38 , Processed in 0.021009 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表