您好 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 个赞
maiki
(maiki)
2
你好 @sweetbeems! 
我没有遇到过这个问题,但是这个……
……让我想起了 min username length(最小用户名长度)设置。
那个用户的名字是不是有更多的字符?min username length(最小用户名长度)的默认值是 3,所以也许将其设置为 2 可以解决这个问题。
3 个赞
啊,太棒了!!@maiki 你说得完全正确,这解决了问题!改为两个字符就是解决方案。我甚至可能需要改为一个字符……
谢谢!!
3 个赞
maiki
(maiki)
4
不客气。
很高兴那奏效了!如果您认为您可能有用户使用单个 Unicode 字符作为用户名,那么您可能需要将该设置更改为 1;否则,他们将无法注册,除非他们使用 2 个字符。
2 个赞
是的,我的主站点没有最低限制,我通过单点登录进行身份验证,所以已将最低限制移至 1 个字符 
2 个赞
system
(system)
关闭
6
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.