Orchardcms 在Orchard中处理多个用户配置文件类型

Orchardcms 在Orchard中处理多个用户配置文件类型,orchardcms,Orchardcms,我很难弄清楚如何正确地配置Orchard网站以进行多种类型的用户注册 我的网站有2种用户类型;客户和员工。我可以将所有字段添加到用户内容类型中,这将很好地工作,但我似乎找不到一种可能的方法来拥有单独的用户注册表单、视图 我考虑使用动态表单,为员工创建表单和客户表单,并使用这些表单的输入通过工作流创建用户 对于创建两种不同的用户类型来说,这确实是一个非常大的开销,并且有一些限制(不支持动态表单中的图像上载) 基本上,我的问题是:在Orchard CMS中,什么是正确的方式来处理这个问题,并且有多种

我很难弄清楚如何正确地配置Orchard网站以进行多种类型的用户注册

我的网站有2种用户类型;客户和员工。我可以将所有字段添加到用户内容类型中,这将很好地工作,但我似乎找不到一种可能的方法来拥有单独的用户注册表单、视图

我考虑使用动态表单,为员工创建表单和客户表单,并使用这些表单的输入通过工作流创建用户

对于创建两种不同的用户类型来说,这确实是一个非常大的开销,并且有一些限制(不支持动态表单中的图像上载)

基本上,我的问题是:在Orchard CMS中,什么是正确的方式来处理这个问题,并且有多种类型的用户(和用户注册表)

您可以使用动态内容部分(记住,用户是Orchard中的内容):

使用链接的解决方案,您可以编写:

IUser lUser = ...;

ICustomer lCustomer = lUser.As<ICustomer>();
if (lCustomer != null) ...

IEmployee lEmployee = lUser.As<IEmployee>();
if (lEmployee != null) ...
IUser-lUser=。。。;
iccustomer lccustomer=lUser.As();
如果(lCustomer!=null)。。。
IEmployee-lEmployee=lUser.As();
如果(lEmployee!=null)。。。
如果您不知道内容部分是什么,请先查看官方文档:


Orchard中只有一种类型的用户,但您可以使用角色进行区分。虽然这是一个很好的解决方案,但我确实认为在CMS中不使用自定义代码也可以做到这一点…@Arsenal我的答案中的代码仅向您展示了如何在代码中区分用户。关于您的单独表单问题,您应该能够使用placement.info功能显示单独的表单,因为您现在已将不同的部分连接到用户,但我不完全确定,因为我从未扩展使用过该功能: