gpt4 book ai didi

security - 创建一个经过身份验证的用户可以访问但匿名用户不能访问的安全 Orchard CMS 页面

转载 作者:行者123 更新时间:2023-12-01 05:09:47 25 4
gpt4 key购买 nike

我们只花了两个小时就完成了上述目标。困难的部分是允许匿名用户在前端查看 菜单小工具 但看不到也无法访问新的安全页面 内容类型。

我们的解决方案确实有效。

  • 匿名用户可以查看菜单小工具 .
  • 匿名用户可以查看 中页面的内容项链接菜单小部件。
  • 匿名用户无法查看到 的内容项链接安全页面 菜单小部件。
  • 匿名用户可以查看主菜单中任何内容的自定义链接。
  • 如果匿名用户直接导航到 ,则会提示他们进行身份验证。安全页面 .
  • 这一切都很好。

  • 我们想知道的是,“有没有更好的方法?”和“需要在内容类型级别和菜单小部件的小部件实例级别设置权限是怎么回事?”

    首先,我们创建了一个新的安全页面内容类型。然后我们设置以下权限。

    用户 > 角色(查看和访问权限)
                                   Anonymous               Authenticated
    View page by others y y n y
    View own page y y n y
    View projection by others y y n y
    View own projection y y n y
    View secure page by others n n n y
    View own secure page n n n y
    View all content n n y y
    View own content n n n y
    View content types n n n n
    Access site front end y y y y

    我们撤销了匿名角色的查看所有/拥有的内容,然后明确地重新授予该角色对页面和投影的查看权限;我们没有重新授予安全页面的查看权限。此外,我们保留了已验证角色的默认设置,因为默认设置包括查看所有/拥有的内容,包括我们创建的新安全页面内容类型。

    此时的问题是,撤销匿名角色查看所有/拥有的内容意味着该角色无法看到 。菜单小工具 在前端。为了解决这个问题,我们将 Content Permission 部分添加到 Menu Widget 并调整了设置。

    内容定义 > 菜单小部件 > 部件内容权限
                                   Anonymous               Authenticated
    View any content n y y n
    View own content n n y n

    奇怪的是,这还不够。在内容项级别,我们还必须设置以下权限:

    小部件 > 特定菜单小部件 > 启用内容项访问控制
    Disable this (i.e. unchecked it)
    Otherwise it overrides what we already set.

    此时,该解决方案完美运行。

    两个问题:为什么我们需要在 Content Type 级别和 Widget 实例级别设置 Menu Widget 的权限。此外,有没有更合适的方式来实现我们的最终目标?

    最佳答案

    Why did we need to set the permissions for the Menu Widget at both the Content Type level and the Widget instance level?



    因为每个模块都提供了自己的一组权限(在这种情况下,例如 Orchard.Widgets 模块)。

    Further, is there a more appropriate way to accomplish our ultimate goal?



    我会使用自定义部分,您可以在其中选择可以访问内容的用户角色。我有一个类似的有效性检查任务 here .

    关于security - 创建一个经过身份验证的用户可以访问但匿名用户不能访问的安全 Orchard CMS 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25815546/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com