Frage

habe ich einen benutzerdefinierten RouteHandler für Bilder, dass ich geschützt werden soll. Mein RouteHandler nimmt einfach eine neue Route (Grafik / {Dateiname}) und macht einen Nachschlag für den wahren Dateipfad, setzt den MIME-Typ und dient es auf. Das funktioniert gut. ( http: / /www.mikesdotnetting.com/Article/126/ASP.NET-MVC-Prevent-Image-Leeching-with-a-Custom-RouteHandler )

Was ich wollte, als nächstes zu tun war eine Überprüfung in meinem benutzerdefinierten Handler für ein Session-Variable zu tun, dass ich früher festgelegt würde, dass die Person zu machen versucht, das Bild Erlaubnis dazu hatte anzuzeigen.

Im Grunde würden sie ein Login-Pass (geben Sie einen Code), die ein Session-Variable festgelegt würde, dass ich in dem benutzerdefinierten RouteHandler aussehen würde.

Mein Problem ist, dass ich nicht an den Sitzungsdaten zu erhalten innerhalb der benutzerdefinierten RouteHandler scheinen kann.

Schließlich ist meine Frage: Wie kann ich Daten in einem Regler einstellen können und haben es verfügbar mir aus einer benutzerdefinierten RouteHandler auf eine nachfolgende Anfrage

War es hilfreich?

Lösung

Als erstes von der Request in die GetHttpHandler Methode übergeben, können Sie Zugriff auf die Sitzung nicht über requestContext.HttpContext.Session? Ich bin nicht sicher, ich konnte sehen, das standardmäßig nicht arbeiten, da es so früh in der Pipeline ist.

Wenn nicht, können Sie immer leicht die Session-Prüflogik in den Handler bewegen, indem Sie die IRequiresSessionState Schnittstelle zu Ihrem Handler.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top