我猜这是一个 bug,因为当你搜索已停用的用户时,他们不会出现在搜索结果中。
基本上,如果你访问这个页面:Discourse Meta 并滚动浏览,已停用的用户会显示出来……但如果你尝试搜索他们,他们却不会显示。(你也不能在帖子中 @ 他们。)
是否最好将所有未激活或已停用的用户从所有公共区域中隐藏?(我认为是的。)
这里所说的未激活/已停用成员,指的是那些尚未验证邮箱或需要重新验证邮箱的用户。
我猜这是一个 bug,因为当你搜索已停用的用户时,他们不会出现在搜索结果中。
基本上,如果你访问这个页面:Discourse Meta 并滚动浏览,已停用的用户会显示出来……但如果你尝试搜索他们,他们却不会显示。(你也不能在帖子中 @ 他们。)
是否最好将所有未激活或已停用的用户从所有公共区域中隐藏?(我认为是的。)
这里所说的未激活/已停用成员,指的是那些尚未验证邮箱或需要重新验证邮箱的用户。
您的意思是非活跃用户:
这可能是一个 bug,但我不认为是这样:
show inactive accountsclean up inactive users after days。已关闭,但它们仍然显示。
我猜测其行为是它们仍会在管理员控制面板中显示,但不会公开显示。很多时候,垃圾邮件发送者会用网址作为名称或个人资料详情(有时甚至是色情内容等)注册此类账户。
“显示非活跃账户”站点设置仅适用于非工作人员用户。如果该设置被禁用(默认情况下为禁用状态),则普通用户将无法查看已停用用户的用户卡片或个人资料页面。不过,工作人员用户仍然可以查看用户卡片和个人资料页面。
无论是否禁用“显示非活跃账户”站点设置,已停用的用户都会出现在您的公开用户目录中。
Simon,这是否同时适用于新注册的未验证成员以及手动停用的成员?
有时,垃圾邮件发送者、网络喷子或恶意行为者会注册使用 URL 作为用户名或其他个人资料信息的账户。
是否可以通过主题组件或其他方式轻松地将用户从公开用户目录中隐藏?(我还在了解相关内容,目前还不确定。)我查看了 CSS,但已停用成员所在的行并没有应用特殊的类。能否添加这样的功能?
这是不正确的。已停用的用户不会立即从用户目录中移除,但应在刷新用户目录的作业运行时被移除。该作业每天运行一次。
向目录中添加和移除用户的代码会检查用户是否处于“活跃”状态。这意味着,曾经在您的站点上活跃过的非活跃用户,应在其被停用后的一天内从用户目录中移除。而那些从未在您的站点上活跃过的用户(例如,注册后未响应激活邮件的用户)则根本不应出现在用户目录中。
对于启用了“必须批准用户”站点设置的站点,未获批准的用户不会被添加到用户目录中。
如果您在站点上发现的情况与此不符,请告诉我。
啊,谢谢,这说得通,Simon。
在我的开发环境上似乎没有生效(不过我只是在需要时才运行服务器),但我刚刚在正式站点上创建了一个测试,看看效果如何,然后向你反馈 ![]()
成功了
:该账户在一天左右后从列表中消失了。
关于手动停用用户,有一个快速问题:他们是否会受到与标准未激活用户相同的规则约束?具体来说,如果他们在 30 天内未重新激活账户(我认为这是新账户验证电子邮件的标准允许时间),他们是否会被从数据库中删除?
好问题,@eviltrout 有人能检查一下这个逻辑吗?我知道对于新注册用户来说这是对的——因为如果新用户在注册后 7 天内懒得激活邮箱,那他们就不值得关心了——但对于手动停用账户的情况,我就不确定了。
我检查了逻辑,如果满足以下条件,用户将在 clean_up_inactive_users_after_days 天后被删除:
因此,回答您的问题:是的,手动停用的用户会被移除,但前提是他们没有发布过任何内容或获得任何信任等级。
那么,停用用户具体会产生什么效果?系统会通知用户其账户已被停用吗?是否会限制其使用,直到他们重新激活?他们是否需要自行重新激活账户?