在webforms中,如果某个用户无法访问某个路径,它将被隐藏,是否可以使用MvcSiteMap完成?
https://github.com/maartenba/MvcSiteMapProvider
在Webforms中,你需要的就是
<location path="SomePath">
<system.web>
<authorization>
<allow roles="SomeRole" />
<deny users="*" />
</authorization>
</system.web>
</location>
如果您不属于SomeRole,菜单项将被隐藏,可能在MvcSiteMap中?
答案 0 :(得分:0)
在ASP.NET中,定义授权的推荐方法是使用AuthorizeAttribute。
启用AuthorizeAttribute
时,MvcSiteMapProvider完全支持securityTrimming
。请参阅Registering the provider。
答案 1 :(得分:0)
我知道这是一个旧帖子,但万一有其他人发生,你可以通过将roles属性添加到你注册节点的mvc.sitemap文件中,明确地实现你想要的。不属于该角色的任何人都将无法看到具有该属性的节点。
<mvcSiteMapNode title="TheMenuOption" clickable="false" roles="someRole">