我有一个具有安全配置的应用程序,并且为同一个应用程序创建了角色。我想在角色的基础上设置菜单项的可见性。我使用以下代码来实现这一点在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中删除它。你可以看看这个并告诉我哪里出错了。
答案 0 :(得分:2)
您不需要站点地图文件中的securityTrimmingEnabled =“true”,只需在添加了站点地图提供程序的web.config中。
答案 1 :(得分:0)
只需删除站点地图文件中的securityTrimmingEnabled="true
即可完成。