Ho scritto un httphandler per intercettare tutti i file PDF richiesti tramite URL da una cartella specifica e reindirizzare l'utente alla pagina di accesso. Se l'utente è autenticato, il file può essere scaricato. Il mio web.config ha la seguente voce per l'intercettazionecome scrivere httphandler per intercettare solo i file in una cartella specifica
<httpHandlers>
<add verb="*" path="/calderdale/*.pdf"
type="NES.HiLo.Security.CalderDaleAuthenticationHandler, NES.HiLo.Security" />
</httpHandlers>
In IIS (6.0) Impostazioni di estensione Application ho aggiunto un ambiente con eseguibile C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
ed estensione Pdf.
Questo funziona ma ogni richiesta di file pdf viene intercettata piuttosto che i file presenti nella directory calderdale.
Ho provato le soluzioni fornite su questo collegamento Mapping specific folder to HttpHandler in web.config e rimosso le impostazioni dell'estensione dell'applicazione, ma il gestore riceve la chiamata.
Qualche idea?
È possibile utilizzare il httpModule anziché httpHandler. –
Non riesco a utilizzare i httpmodules poiché possiamo usare solo httphandler per proteggere i file tramite gestori. per esempio. www.domainname.com/foldername/somefile.doc aprirà il file indipendentemente dalla presenza di httpmodule – rumi
@Learner il link che hai detto di mettere un altro file web.config nella cartella, il fatto che tu abbia path = "/ calderdale/* .pdf "suggerisce che non hai fatto ciò che la risposta accettata dice di fare, cioè metti il web.config nella cartella 'calderdale' e cambia percorso per essere path =" *. pdf " –