0

我知道标签具有“roles”属性来弥补没有“url”属性的节点,可以通过其他方式解决。不过,我对这些其他方式不感兴趣,我想在我的站点地图文件中设置我的所有权限。如何做到这一点?

我正在使用自定义 RoleProvider、自定义 MembershipProvider 和默认 XmlSiteMapProvider。我还有一个安全 IHttpModule 来防止人们使用直接 URL 到达那里。我对不同的方法持开放态度。

提前致谢!

4

2 回答 2

1

最后,我通过从 XmlSiteMapProvider 派生实现了自己的安全修整。这很简单。

public override SiteMapNodeCollection GetChildNodes(SiteMapNode node)
{
    return CustomSecurityTrim(base.GetChildNodes(node));
}
于 2009-06-23T22:21:23.210 回答
1

您可以实现自己的 XmlSiteMapProvider 并覆盖 IsAccessibleToUser 方法。

public override bool IsAccessibleToUser(HttpContext context, SiteMapNode node)
{
     return <condition in which access is allowed>
}
于 2014-01-18T07:53:17.733 回答