首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在asp.net web.sitemap中隐藏授权菜单项

在asp.net web.sitemap中隐藏授权菜单项
EN

Stack Overflow用户
提问于 2009-01-29 13:57:18
回答 2查看 6.5K关注 0票数 2

我有一个启用了安全修剪的web.sitemap,但是我需要将基于角色的菜单项隐藏到在web.config中没有访问规则的页面中。

也就是说,我有一个活动页面,用于查看现有的活动以及添加新的活动,但我希望“新活动”菜单项是隐藏的匿名用户。我尝试将角色名称添加到web.sitemap中的角色属性,但没有效果。

我确信一定有一种快速的方法可以做到这一点,而不需要修改sitemap提供程序,这是我的下一个目标。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-01-30 19:47:05

如果这只是匿名用户的特殊情况,您可以创建第二个SiteMap。

创建一个新文件WebAnon.sitemap。

在web.config中创建新的站点地图提供程序

代码语言:javascript
复制
<add name="anonProvider" type="System.Web.XmlSiteMapProvider" siteMapFile="WebAnon.sitemap" securityTrimmingEnabled="true"/>

如果是匿名用户,则在后台代码中将SiteMapDataSource的SiteMapProvider属性设置为"anonProvider“。

票数 2
EN

Stack Overflow用户

发布于 2009-01-29 14:21:11

<siteMapNode />中的roles属性是“允许”列表,而不是拒绝列表。在web.config中创建/修改相应的<location />元素,以允许通过身份验证的用户并拒绝匿名;

代码语言:javascript
复制
<location path="campaigns.aspx">
 <system.web>
  <authorization>
   <allow users="*" />
   <deny users="?" />
  </authorization>
 </system.web>
</location>

顺便说一句,如果您使用的是Windows主体和角色,则在您注销并重新登录之前,对组成员身份所做的任何更改都不会生效。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/491670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档