【问题标题】:Asp.net SitemapsAsp.net 站点地图
【发布时间】:2011-11-02 03:01:56
【问题描述】:

我一直在努力解决以下问题。请帮助 我正在使用菜单控件并使用站点地图填充它。

我有一个站点地图提供程序,如下所示:

<?xml version="1.0" encoding="utf-8" ?>
    <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
      <siteMapNode url="" title="Home"  description="" roles="*"  >
        <siteMapNode url="~/Default.aspx" title="PRA Profile" description=""roles="Partner"  >
             </siteMapNode >

        <siteMapNode url="" title="PRA Profile1" description="" roles="Partner">

          <siteMapNode url="~/New.aspx?id=1" title="Partner View"  description="Partner View"> </siteMapNode >
        </siteMapNode >
          <siteMapNode url="~/About.aspx" title="Estimator"  description="~/Test.aspx" roles ="Admin" >
      </siteMapNode >
        <siteMapNode url="~/About.aspx?id=3" title ="Reports" description ="" roles="Admin">
             </siteMapNode>
       </siteMapNode>
    </siteMap>

我在 web.config 中添加了 securityTrimmingEnabled="true"

我的问题是,如果我在父节点中输入 URL,则角色属性不起作用,否则它可以正常工作。

如果在父节点中我给出了 url,那么角色属性会失败。如果我没有给出 url 并添加子节点,然后基于角色的菜单显示/隐藏完美运行。 当“非管理员”登录时,我必须只显示父节点,当管理员与其他屏幕一起登录时,我必须显示与子节点相同的屏幕。

请帮忙!

【问题讨论】:

    标签: asp.net sitemap


    【解决方案1】:

    角色属性是一个增强属性。换句话说,它增强了作为基于 url/角色的身份验证设置一部分的安全修整。安全修整是根据 web 配置中 url 的安全设置(或其他基于 url/角色的身份验证机制)完成的。

    http://msdn.microsoft.com/en-us/library/ms178428.aspx

    如果您的基于 url 的身份验证机制使用 web.config 来控制基于 url 的身份验证,您需要为您尝试控制访问的 url 添加一个具有授权的 location 元素到您的 web.config:

      <location path="PageWithAuthorization.aspx">
        <system.web>
          <authorization>
            <deny users="?"/>
            <allow roles="Allowed_Role"/>
            <deny users="*"/>
          </authorization>
        </system.web>
      </location>
    

    这是授权的基础来源。当上面列出的页面是站点地图的一部分并且 securityTrimmingEnabled = true 时,只有那些在“Allowed_Role”中的用户才能看到站点地图链接。通过在站点地图角色属性中添加另一个角色,您允许其他角色也访问该页面。

    【讨论】:

      猜你喜欢
      • 2010-09-05
      • 2011-06-07
      • 1970-01-01
      • 2010-12-25
      • 2020-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-11
      相关资源
      最近更新 更多