1

我有一个具有安全配置的应用程序,并且为同一个应用程序创建了角色。我想根据角色设置菜单项的可见性。我使用以下代码在 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>

在运行应用程序并登录网站时,我收到了 * Unrecognized attribute 'securityTrimmingEnabled' 之类的错误。请注意,属性名称区分大小写。*这个错误再次重复,即使我从 web.config 中删除它。你能看看这个并告诉我哪里出错了。

4

2 回答 2

2

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

于 2011-12-09T07:54:04.157 回答
0

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

于 2011-12-09T07:51:16.173 回答