Frage

Ich bin mir bewusst, dass der Tag das „Rollen“ -Attribut für den Knoten zu bilden, die den „url“ -Attribut nicht hat, die auf andere Weise gelöst werden können. Ich bin in diesen anderen Möglichkeiten nicht interessiert, obwohl, würde Ich mag alle meine Berechtigungen in meiner Sitemap-Datei festgelegt haben. Wie um dies zu erreichen?

Ich verwende benutzerdefinierte Roleprovider, benutzerdefinierte MembershipProvider und die Standard-XmlSiteMapProvider. Ich habe auch eine Sicherheit IHttpModule Menschen zu verhindern, dass es immer eine direkte URL. Ich bin offen für unterschiedliche Ansätze.

Vielen Dank im Voraus!

War es hilfreich?

Lösung

Sie können Ihre eigenen XmlSiteMapProvider und überschreiben die IsAccessibleToUser Methode implementieren.

public override bool IsAccessibleToUser(HttpContext context, SiteMapNode node)
{
     return <condition in which access is allowed>
}

Andere Tipps

Am Ende implementiert ich meine eigene Sicherheit Trimmen von von XmlSiteMapProvider abzuleiten. Es war einfach genug.

public override SiteMapNodeCollection GetChildNodes(SiteMapNode node)
{
    return CustomSecurityTrim(base.GetChildNodes(node));
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top