Asp.net mvc 从数据库高效加载站点地图?
我有一个自定义的Asp.net mvc 从数据库高效加载站点地图?,asp.net-mvc,vb.net,authentication,authorization,sitemap,Asp.net Mvc,Vb.net,Authentication,Authorization,Sitemap,我有一个自定义的SiteMapProvider,我从数据库中填充它。我还有一个自定义的SiteMapNode,它必须用一个自定义的Page参数来构造 SiteMapProvider.IsAccessibleToUser(上下文,节点)的实现现在是: Public Overrides Function IsAccessibleToUser(context, node) As Boolean Return CType(node, CustomSiteMapNode).Page.IsAcces
SiteMapProvider
,我从数据库中填充它。我还有一个自定义的SiteMapNode
,它必须用一个自定义的Page
参数来构造
SiteMapProvider.IsAccessibleToUser(上下文,节点)
的实现现在是:
Public Overrides Function IsAccessibleToUser(context, node) As Boolean
Return CType(node, CustomSiteMapNode).Page.IsAccessibleToUser(context.User)
End Function
我还有一个自定义的身份验证类属性
:
Public Class ValidateAuthorization : Inherits AuthorizeAttribute
Public Sub New()
End Sub
Protected Overrides Function AuthorizeCore(context) As Boolean
If Not CType(SiteMap.CurrentNode, JrcSiteMapNode).Page.IsAccessibleToUser(httpContext.User) Then
Throw New ApplicationException()
End If
Return True
End Function
End Class
两个问题:
页面
对象只加载一次的功能,因此我需要将它们存储在某个地方…我非常困惑/思维障碍我目前有2个网站地图。一个启用了安全修剪,另一个未启用安全修剪