[ASP.NET 2.0]sitemap中根据角色自动隐藏菜单项的小提示

来源:互联网 发布:苹果手机怎么清除数据 编辑:程序博客网 时间:2024/04/30 07:41
通过sitemap自动生成菜单的常规配置如下:
1.在web.config中开启securityTrimmingEnabled,如下示例:
        <siteMap>
            
<providers>
                
<add name="UsersMenu" type="System.Web.XmlSiteMapProvider" siteMapFile="~/sitemaps/UsersMenu.sitemap" securityTrimmingEnabled="true" />
            
</providers>
        
</siteMap>

2.在sitemap中配置菜单项,示例如下:
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
    
<siteMapNode url="Member/default.aspx" title="Home"  description="">
        
<siteMapNode url="Admin/Users.aspx"  title="Manage Users"  description="" />
        
<siteMapNode url="Admin/Roles.aspx" title="Manage Roles"  description=""  />
      
<siteMapNode url="Member/ChangePassword.aspx" title="Change Password"  description="" />
      
<siteMapNode url="SEC/NewsPost.aspx" title="Post News"  description="" />
      
<siteMapNode url="SEC/NewsManage.aspx" title="Manage News" description="" />
    
</siteMapNode>    
</siteMap>

这里我要提示的就是sitemap中菜单项的配置,菜单节点的url属性不能写成"~/Admin/Users.aspx"这样的形式,一定要去掉"~/",写成示例所示的形式,否则,无论什么角色都将看到所有菜单项。

原创粉丝点击