siteMap之securityTrimmingEnabled

·

为了让自己的asp:Menu支持角色,在web.config的provider加上securityTrimmingEnabled=”true” ,但是需要注意的是:

1. 每个provider都要加上这个属性;

2. sitemap文件中不要加这个属性;

3. sitemap中定义好允许哪个角色即可,但下级默认继承上级,尤其是sitemap只能有一个根节点,所有不得不定义一个User角色来给根节点,同时所有用户加到User这个角色中;

4. 一级菜单的url属性留空,仅作分类用,否则role控制无效。

不知道是否为最规范的做法,反正目前可以用了,呵呵。

<siteMap enabled=”true” defaultProvider=”XmlSiteMapProvider” >
<providers>
<add name=”XmlSiteMapProvider” type=”System.Web.XmlSiteMapProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a” siteMapFile=”Web.sitemap” securityTrimmingEnabled=”true” />
<add name=”XmlSiteMapProviderCustomer” type=”System.Web.XmlSiteMapProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a” siteMapFile=”Customer.sitemap” securityTrimmingEnabled=”false” />
</providers>
</siteMap>

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理