SiteMap不隐藏元素

马特

我继承了一个广泛使用站点地图的站点。我被问到是否可以使菜单项仅在用户以正确角色登录时才出现。

(我知道我基于角色的登录均正常工作)

我的站点地图中有以下内容

 <siteMapNode url="~/" title="Home" description="Home">
<siteMapNode title="Home" url="default.aspx" />
<!--Sets up Product page-->    
    ... Product map always shows, so skipped ...

<siteMapNode title="Support" url="~/support/default.aspx">
  <siteMapNode title="CurrentIssues" url="~/support/Issues.aspx" role="Customer" />
</siteMapNode>
...

这行在我的配置中

<add name="main_siteMap" description="Menu Site map Provider" type="System.Web.XmlSiteMapProvider" siteMapFile="Web.sitemap" secuirityTrimmingEnabled="true"/>

但是,无论我已登录还是注销,“ CurrentIssues菜单”选项始终可见。(尽管如果您尝试单击它,它会将您带到LoginPage。)

那么,对于那些未登录正确角色的菜单项,我想隐藏其菜单项是什么呢?

迈克·史密斯·德夫(MikeSmithDev)

您发布的内容存在一些问题。

siteMapNode值应该roles不会role

web.config输入的内容有错别字(secuirityTrimmingEnabled有一个额外的i),应该看起来像这样:

<siteMap defaultProvider="main_siteMap" enabled="true">
    <providers>
        <add name="main_siteMap"
            description="Menu Site map Provider"
            type="System.Web.XmlSiteMapProvider "
            siteMapFile="Web.sitemap"
            securityTrimmingEnabled="true" />
    </providers>
</siteMap>

另请注意,以这种方式保护站点地图需要正确实施RoleManagement,这意味着在这种情况下,您还需要在web.config中保护该路径:

<location path="support/issues.aspx">
    <system.web>
        <authorization>
            <allow roles="Customer" />
            <deny users="*" />
        </authorization>
    </system.web>
</location>

另请注意,每个文档

具有150个以上节点的站点地图文件可能需要更长的时间才能执行安全性整理操作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

隐藏元素中的内容而不隐藏子类

来自分类Dev

显示和隐藏不隐藏元素

来自分类Dev

jQuery默认不隐藏元素

来自分类Dev

使用react-select隐藏/显示元素-不隐藏元素

来自分类Dev

隐藏与用户输入不匹配的元素

来自分类Dev

jQuery在处理程序返回之前不隐藏元素

来自分类Dev

如果属性与过滤器不匹配,则隐藏div元素

来自分类Dev

jQuery animate()切换而不隐藏元素

来自分类Dev

当Angular不返回任何数据时隐藏和显示元素

来自分类Dev

如果不包含特定关键字,则隐藏div元素

来自分类Dev

悬停时隐藏元素的jQuery目标父对象(或不)

来自分类Dev

如何隐藏与当前值不匹配的元素并与prop比较

来自分类Dev

隐藏不注入ajax调用本身的注入ajax的元素

来自分类Dev

jQuery在处理程序返回之前不隐藏元素

来自分类Dev

ng-if不隐藏第二个元素

来自分类Dev

当Angular不返回任何数据时隐藏和显示元素

来自分类Dev

在元素被隐藏/取消隐藏的函数中,使用javascript移动(而不滚动)至锚点

来自分类Dev

仅隐藏直接文本子级,而不隐藏CSS中的元素子级

来自分类Dev

隐藏div元素而不隐藏div的一部分

来自分类Dev

如果使用jQuery不包含“ li”元素,如何隐藏“ ul”元素中的所有内容?

来自分类Dev

Bootstrap cols(flex-nowrap)占用更多空间,然后在子元素溢出时隐藏:隐藏和单词间距:不包装

来自分类Dev

如何使用jQuery隐藏所有不包含数据类特定值的元素?

来自分类Dev

隐藏一些图形元素c3js,而不卸载数据

来自分类Dev

如何在不丢失初始CSS样式的情况下隐藏/显示html元素?

来自分类Dev

在不创建隐藏页面元素的情况下构建 JavaScript 表单

来自分类Dev

如何在不裁剪内嵌图像/文本的情况下隐藏元素溢出?

来自分类Dev

隐藏元素时隐藏值

来自分类Dev

隐藏元素,但不隐藏parent()

来自分类Dev

单击时隐藏元素隐藏元素

Related 相关文章

  1. 1

    隐藏元素中的内容而不隐藏子类

  2. 2

    显示和隐藏不隐藏元素

  3. 3

    jQuery默认不隐藏元素

  4. 4

    使用react-select隐藏/显示元素-不隐藏元素

  5. 5

    隐藏与用户输入不匹配的元素

  6. 6

    jQuery在处理程序返回之前不隐藏元素

  7. 7

    如果属性与过滤器不匹配,则隐藏div元素

  8. 8

    jQuery animate()切换而不隐藏元素

  9. 9

    当Angular不返回任何数据时隐藏和显示元素

  10. 10

    如果不包含特定关键字,则隐藏div元素

  11. 11

    悬停时隐藏元素的jQuery目标父对象(或不)

  12. 12

    如何隐藏与当前值不匹配的元素并与prop比较

  13. 13

    隐藏不注入ajax调用本身的注入ajax的元素

  14. 14

    jQuery在处理程序返回之前不隐藏元素

  15. 15

    ng-if不隐藏第二个元素

  16. 16

    当Angular不返回任何数据时隐藏和显示元素

  17. 17

    在元素被隐藏/取消隐藏的函数中,使用javascript移动(而不滚动)至锚点

  18. 18

    仅隐藏直接文本子级,而不隐藏CSS中的元素子级

  19. 19

    隐藏div元素而不隐藏div的一部分

  20. 20

    如果使用jQuery不包含“ li”元素,如何隐藏“ ul”元素中的所有内容?

  21. 21

    Bootstrap cols(flex-nowrap)占用更多空间,然后在子元素溢出时隐藏:隐藏和单词间距:不包装

  22. 22

    如何使用jQuery隐藏所有不包含数据类特定值的元素?

  23. 23

    隐藏一些图形元素c3js,而不卸载数据

  24. 24

    如何在不丢失初始CSS样式的情况下隐藏/显示html元素?

  25. 25

    在不创建隐藏页面元素的情况下构建 JavaScript 表单

  26. 26

    如何在不裁剪内嵌图像/文本的情况下隐藏元素溢出?

  27. 27

    隐藏元素时隐藏值

  28. 28

    隐藏元素,但不隐藏parent()

  29. 29

    单击时隐藏元素隐藏元素

热门标签

归档