如何使用'securityTrimmingEnabled'属性

时间:2011-12-06 14:28:04

标签: asp.net security sitemap web.sitemap

我有一个具有安全配置的应用程序,并且为同一个应用程序创建了角色。我想在角色的基础上设置菜单项的可见性。我使用以下代码来实现这一点在Web.sitemap

<siteMapNode url="" title=""  description="" >
    <siteMapNode url="~/Account/Default.aspx" title="Change Password"  description=""  securityTrimmingEnabled="true"/>
    <siteMapNode url="~/Account/ChangePasswordSuccess.aspx" title="Welcome"  description="" />
    <siteMapNode url="~/Account/Demo.aspx" title="Demo"  description="" />
</siteMapNode>

在web.config中

 <system.web>
<siteMap enabled="true" defaultProvider ="AspNetXmlSiteMapProvider" >
        <providers>
            <clear/>
            <add siteMapFile="Web.sitemap" name="AspNetXmlSiteMapProvider" type="System.Web.XmlSiteMapProvider" securityTrimmingEnabled="true" />
        </providers>
    </siteMap>
        </system.web>

在运行应用程序并登录网站时出现错误,如* 无法识别的属性'securityTrimmingEnabled'。请注意,属性名称区分大小写。 * 这个错误再次重复,即使我从web.config中删除它。你可以看看这个并告诉我哪里出错了。

2 个答案:

答案 0 :(得分:2)

您不需要站点地图文件中的securityTrimmingEnabled =“true”,只需在添加了站点地图提供程序的web.config中。

答案 1 :(得分:0)

只需删除站点地图文件中的securityTrimmingEnabled="true即可完成。