Domanda

Ho creato una consuetudine RouteHandler per le immagini che mi desidera proteggere. Il mio RouteHandler semplicemente prende un nuovo percorso (grafica / {filename}) e fa una ricerca per il percorso del file vero, imposta il tipo MIME, e serve in su. Che funziona bene. ( http: / /www.mikesdotnetting.com/Article/126/ASP.NET-MVC-Prevent-Image-Leeching-with-a-Custom-RouteHandler )

Quello che volevo fare successivo è stato quello di fare un controllo all'interno del mio gestore personalizzato per una variabile di sessione che avrei impostato in precedenza per assicurarsi che la persona che cerca di visualizzare l'immagine aveva il permesso di farlo.

In sostanza, essi sarebbero passati un account di accesso (inserire un codice), che fisserebbe una variabile di sessione che cercherei nel costume RouteHandler.

Il mio problema è che io non riesco a ottenere i dati di sessione da dentro l'usanza RouteHandler.

Infine, la mia domanda è: Come posso impostare i dati in un controller e averlo a disposizione per me dall'interno di un personalizzato RouteHandler su una successiva richiesta

È stato utile?

Soluzione

In primo luogo, dal RequestContext passato nel metodo della GetHttpHandler, si fa a non accedere alla sessione tramite requestContext.HttpContext.Session? Non sono sicuro, ho potuto vedere che non funziona di default dal momento che è così presto in cantiere.

In caso contrario, si può sempre spostare facilmente la logica di controllo di sessione nel gestore aggiungendo il IRequiresSessionState interfaccia al gestore.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top