1

我正在使用 Sitefinity 10.2.6602.0 并使用模块生成器创建动态模块。我们在模块中有 10 条产品记录。如何根据注册用户限制/显示记录?

例如:如果管理员登录,我们可以显示模块中的所有记录,如果产品1用户登录,我们需要在模块中只显示产品1记录,如果产品2用户登录,我们需要在模块中只显示产品2记录。

注意:我验证了每条记录的“权限”。但无法隐藏它显示为只读模式的记录,但根据我的要求,我们需要完全隐藏模块。

请帮助我如何以最简单的方式管理记录。

4

1 回答 1

0

您可以将一个 guid 字段添加到您的产品动态内容类型中,您可以在其中存储 Sitefinity 角色的 ID。然后,当用户登录时,您检查他们所在的角色,然后使用一些 LINQ 查询来限制与用户角色匹配的产品。现在假设这些用户正在前端页面上查看它们,并且您没有尝试使用后端的权限来隐藏某些记录。如果您使用上述选项,您可能希望自定义后端表单以编辑和创建您的产品动态内容,因此对于该特殊角色字段,您可以从现有角色中选择下拉菜单。在动态内容中使用一组 guid 类型并允许将一个或多个角色映射到产品项可能会变得更加复杂。这可能导致更复杂和更慢的查询,但将来会提供更大的灵活性。最后,另一种选择是使用 Sitefinity 中的分类功能,然后将标签(或其他平面分类)的名称与角色名称相匹配。然后,您可以为您的用户所在的角色提取与这些标签匹配的项目。希望这提供了几个工作选项。

于 2018-04-14T03:06:58.553 回答