Frage

Ich bin meine eigene SiteMapProvider verwendet, die nur vererbt wird und wenig neu geschrieben System.Web.XmlSiteMapProvider.

Ich möchte verschiedene siteMapNode für die Kunden und für Manager zurückzukehren. Oder vielleicht die gleiche, aber mit unterschiedlicher Title Eigenschaft.

Ist es möglich? Wenn ja, wie kann ich das tun?

War es hilfreich?

Lösung

Hier ist ein Artikel von Scott Gu Blog, der Ihnen helfen kann. Das Beispiel in dem Artikel wird mit Windows-Authentifizierung, aber es sollte auch Arbeit für die Formularauthentifizierung als auch.

http://weblogs.asp.net/scottgu/pages/Recipe_3A00_-Implementing-Role_2D00_Based-Security-with-ASP.NET-2.0-using-Windows-Authentication-and-SQL-Server aspx

Wenn Sie verschiedene Titel für unterschiedliche Rollen implementieren wollen, dann hier ist ein Beispiel dafür, wie das getan werden kann. Hinweis auf die gleiche URL Alles, was Sie tun müssen, ist zwei Knoten zu erstellen. Die Gründe für a = 1 und a = 2 als Abfragezeichenfolgeflag Vars auf der URL, um sicherzustellen, dass die URL einzigartig ist. Wenn die URL nicht eindeutig ist, wird asp.net beschweren, wenn Sie diese Funktionalität außer Kraft setzen können ...

    <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
        <siteMapNode url="default.aspx" title="Home">
            <siteMapNode url="page1.aspx?a=1" title="Client Title" roles="Client" />
            <siteMapNode url="page1.aspx?a=2" title="Manager Title" roles="Manager" />
        </siteMapNode> 
    </siteMap>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top