Účinně načítání Sitemap z databáze?

hlasů
1

Mám zvyk SiteMapProvider, který jsem naplnit z databáze. Také mám zvyk SiteMapNode, který má být budován s vlastní Pageargument.

Implementace SiteMapProvider.IsAccessibleToUser(context, node)je nyní:

Public Overrides Function IsAccessibleToUser(context, node) As Boolean
    Return CType(node, CustomSiteMapNode).Page.IsAccessibleToUser(context.User)
End Function

Také mám zvyk authentication class-attribute:

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

Dvě otázky:

  1. Měl bych se vrátit false v AuthorizeCore (), aby všechno fungovalo podle protokolů výchozí autorizace? (Co to je?) Nebo bych měl vyhodit můj výjimka ..?
  2. SiteMap.CurrentNode je Null / nic (v AuthorizeCore ()) v případě, že strana, která je požadována není přístupná pro uživatele (samozřejmě). Jak mám změnit svůj realizaci? Chci, aby funkce, které tyto Pageobjekty jsou načteny pouze jednou, takže jsem třeba je uložit někam ... Jsem velmi zmatený / mentální blokování.
Položena 13/01/2010 v 18:57
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
0

I v současné době mají 2 sitemaps. Jeden s, a jeden bez zajištění ořezávání povoleno.

Odpovězeno 04/02/2010 v 14:51
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more