我使用 YAF 作为我的在线论坛。我已经在 YAF 和我自己的应用程序之间同步了用户帐户数据库,但在创建自己的成员的同时调用了“Membership.Providers["YafMembershipProvider"].CreateUser'。但是,有一个问题......我的用户是通过电子邮件地址来识别登录的。所以现在论坛显示每个人的电子邮件地址。不是一个好主意。
YAF 有一个名为“显示名称”的选项。是否也可以以编程方式创建它?
我使用 YAF 作为我的在线论坛。我已经在 YAF 和我自己的应用程序之间同步了用户帐户数据库,但在创建自己的成员的同时调用了“Membership.Providers["YafMembershipProvider"].CreateUser'。但是,有一个问题......我的用户是通过电子邮件地址来识别登录的。所以现在论坛显示每个人的电子邮件地址。不是一个好主意。
YAF 有一个名为“显示名称”的选项。是否也可以以编程方式创建它?
如果有人对此有疑问,Jaben 的答案似乎不适用于最新版本的 YAF.NET (示例 Web 应用程序) ——如果你需要这样做,你可以使用 WebService 来这样做(因为 YAF.Classes.DB 没有似乎存在更长的时间)。
您可以在以下位置找到 WS <your url>/forum/YafWebService.asmx
- 您有一个名为 的方法SetDisplayNameFromUsername
,这将收到一个令牌,您可以在主机设置页面上找到该令牌(您需要在使用令牌之前至少保存一次设置)。
如果您期待在论坛内部使用此功能,您可以通过YafWebService
直接调用该类来实现,如下所述:
var service = new YafWebService();
service.SetDisplayNameFromUsername("[your token]",
"[the username of the user]",
"[the displayname you want to set]");
注意:在查看github上的源代码时,我发现开发非常有用/迄今为止唯一的方法。