【发布时间】: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 并添加子节点,然后基于角色的菜单显示/隐藏完美运行。 当“非管理员”登录时,我必须只显示父节点,当管理员与其他屏幕一起登录时,我必须显示与子节点相同的屏幕。
请帮忙!
【问题讨论】: