带有日文字符的用户名附加数字

您好 Discourse!

我最近启动了一个站点,遇到了下面描述的问题。

问题

  • 每当我发送单点登录(SSO)负载时,用户名“賢治”总是自动更改为“賢治1”。

奇怪的是,“名字”可以是“賢治”,但用户名不行。这让我认为这可能是一些用户名唯一性问题……但我检查了 Rails 控制台,并没有名为“賢治”的用户。我是否应该在其他地方检查唯一性约束?这是特殊字符问题吗?

背景
我最近才启动我的 Discourse 站点,最初启动时没有勾选“unicode usernames”。但是,在更新设置后,我逐一更新了受影响的用户。其他名字中有特殊字符的用户,其用户名并未附加数字。

Unicode 设置

  • ‘unicode usernames’ → 允许
  • ’ allowed unicode username characters’ → [\p{Han}\p{Katakana}\p{Hiragana}]

负载
name=%E8%B3%A2%E6%B2%BB
username=%E8%B3%A2%E6%B2%BB

非常感谢您的帮助。谢谢!

1 个赞

你好 @sweetbeems:wave:

我没有遇到过这个问题,但是这个……

……让我想起了 min username length(最小用户名长度)设置。

那个用户的名字是不是有更多的字符?min username length(最小用户名长度)的默认值是 3,所以也许将其设置为 2 可以解决这个问题。:thinking:

3 个赞

啊,太棒了!!@maiki 你说得完全正确,这解决了问题!改为两个字符就是解决方案。我甚至可能需要改为一个字符……

谢谢!!

3 个赞

不客气。

很高兴那奏效了!如果您认为您可能有用户使用单个 Unicode 字符作为用户名,那么您可能需要将该设置更改为 1;否则,他们将无法注册,除非他们使用 2 个字符。:slight_smile:

2 个赞

是的,我的主站点没有最低限制,我通过单点登录进行身份验证,所以已将最低限制移至 1 个字符 :slight_smile:

2 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.