用户名在首次登录后必须更改

你好,

我想开发一个插件,当用户首次登录时,必须修改其用户名。但我不清楚如何重定向到我的插件页面或用户名修改页面。
有什么建议吗?

感谢您的帮助。

2 个赞

您是希望他们修改用户名还是真实姓名?

如果是用户名,原因是什么?他们可以自行设置,或者系统会根据电子邮件地址自动生成。

如果是真实姓名,我相信 Discourse 内置了相关功能可以实现这一点。

3 个赞

我们计划通过 Discourse 的 API,利用我们 CRM 系统的"用户名"自动创建论坛用户,然后要求用户修改该用户名,因为它可能包含个人信息。这对我们来说是个问题。

1 个赞

你提出的这个方案听起来是个非常糟糕的主意。

用户有多少?你最好的办法是直接在 CRM 中修复数据。

方案一:接近你想要的效果

但 CRM 中肯定有某种唯一 ID 可以替代个人信息的用户名。如果没有这样的 ID,你可以直接用他们的邮箱地址生成哈希值作为用户名。这样,不想使用“愚蠢”用户名的人可以自行修改,同时也能避免任何个人信息泄露的风险。

方案二:完全按照你的要求实现

要实现你所说的功能,你需要一个插件,为用户添加一个自定义字段(例如“crm_username”),然后设置逻辑:在用户修改该字段之前,禁止他们登录。这样的用户体验会很差,开发成本会很高,或者两者兼有。或许你可以先将他们重定向到个人资料页面,直到他们完成修改。这类插件很可能出现故障,且难以维护。

方案三

或者,你可以直接发送邀请,让他们自行注册并创建账户。这可能是最佳的解决方案。

如果你确实需要一个插件,可以在 Marketplace 频道中提问。

3 个赞