用户名中删除了特殊字符

在我们的主网站上,经常有用户在用户名中使用下划线和连字符。当这些用户被迁移到我们的 Discourse 论坛时,用户名中的一个或多个字符经常被删除,导致不匹配。

该论坛仅供网站用户使用,因此能够关联用户名非常重要。

示例:
kayakaya_ 变为 kayakaya
__aena13 变为 _aena13

目前我们尚未找到如何自动删除或禁用主站已关闭的论坛账户,或者至少生成报告的方法。这是否可行?

用户名已根据 Discourse 的用户名规则自动编辑。

这跟我猜的差不多。谢天谢地,我们找到了一个能保留真实用户名的地方。

我们最近新增了两项站点设置,允许您在用户名中使用更多字符。

您尝试过调整这些设置吗?

我们会查看一下,看看是否有帮助。谢谢。

我们在 SSO 方面也遇到了同样的问题,用户名被转换了。

我之前在 这里 提到过这个问题,但这个话题更新一些——也许有人可以查看一下。

随着对用户名和组名引入 Unicode 支持,现在可以使用像 中国 这样的用户名(这很棒!),但 Discourse 不允许用户名以连字符开头或结尾(但下划线等符号是可以的)。

禁止在首尾位置使用连字符有什么原因吗?如果这样做没有明显的弊端,是否有机会修订这一政策?/cc @Falco

当用户输入特殊字符时,情况会变得复杂,因为他们想要的用户名已被占用。

您可以尝试在自定义插件中覆盖这些规则,并先使用几周。如果在正常的 Discourse 使用中未出现问题,请提交拉取请求。

我试着做了尝试,成功实现了用户名前后带连字符的功能,包括在提及(mentions)中也能正常工作。

但在用户名前后带下划线的情况下就没那么幸运了。因为在消息编辑器中,Markdown 解析器的优先级似乎高于 @提及:用户名被渲染成了斜体,而不是链接。

目前我在这方面有些卡住,不确定该从哪里入手解决。有什么建议吗?@Falco