我使用Sitefinity 10.2.6602.0和使用Module Builder创建动态模块。我们在Module中有10个产品记录。如何根据注册用户限制/显示记录?
例如:如果管理登录,我们可以显示模块中的所有记录, 如果产品1用户登录,我们只需要在Module中显示产品1记录, 如果产品2用户登录,我们只需在模块中显示产品2记录。
注意:我已验证"权限"对于每条记录。但无法隐藏它显示为只读模式的记录,但根据我的要求,我们需要完全隐藏模块。
请帮我介绍如何以最简单的方式管理记录。
答案 0 :(得分:0)
您可以在产品动态内容类型中添加一个guid字段,您可以在其中存储Sitefinity角色的ID。然后,当用户登录时,检查它们所在的角色,然后使用一些LINQ查询来限制与用户角色匹配的产品。现在假设这些用户正在前端页面上查看它们,而您并未尝试在后端使用权限来隐藏某些记录。 如果您使用上述选项,您可能希望自定义后端表单以编辑和创建产品动态内容,因此对于该特殊角色字段,您可以使用下拉列表从现有角色中进行选择。 在动态内容中使用guid类型数组会变得更加复杂,然后允许将一个或多个角色映射到产品项。 这可能会导致更复杂和更慢的查询,但将来会提供更大的灵活性。 最后,另一种选择可能是使用Sitefinity中的分类功能,然后将标记(或其他平面分类)的名称与角色名称匹配。然后,您可以为用户所在的角色提取与这些标记匹配的项目。 希望能提供几种选择。