Gestore Http per l'applicazione classica ASP per l'introduzione di un livello tra client e server

5

Ho un'enorme applicazione classica ASP in cui migliaia di utenti gestiscono i propri dati aziendali / aziendali. Attualmente questo non è multiutente in modo che gli utenti dell'applicazione possano creare utenti e autorizzarli ad accedere ad alcune aree del sistema.

Sto pensando di scrivere un gestore che fungerà da intermediario tra client e server e passerà attraverso ogni richiesta e scoprirà chi è l'utente e se è autorizzato ad accedere ai dati che sta cercando.

Per il momento ignora la parte su come vado a controllare l'autorizzazione e tutta quella roba. Voglio solo sapere se posso implementare un gestore ASP.net e usarlo come middle man per le richieste che arrivano per un sito Web asp? Voglio solo leggere l'url e vedere a quale pagina sta cercando di accedere l'utente e quali sono i parametri che sta trasmettendo nell'URL dei dati inviati. È possibile? Ho letto che il gestore di Asp.net non può essere utilizzato con il sito Web asp e ho bisogno di usare il filtro o le estensioni isapi per quello e che può essere sviluppato solo in c / c ++.

Qualcuno può far luce su questo e guidarmi se sono nella direzione giusta o no?

    
posta JPReddy 25.06.2012 - 00:33
fonte

2 risposte

3

Un gestore .Net non può essere utilizzato con ASP perché IIS può solo consegnare la richiesta a un gestore per ogni richiesta. ASP e .Net hanno gestori distinti.

Se si desidera scrivere un. HTTPModule .Net per agire come un Man in the Middle, il gestore della richiesta dovrebbe essere .Net.

Non l'ho provato, ma penso che se poi hai scritto un .NetHandler .NET per servire la pagina ASP (che in pratica esegue l'ASP come VBScript), avresti delle complicazioni con gli oggetti Request e Response. Probabilmente uno sforzo maggiore del suo valore persino da provare.

Un filtro ISAPI sarebbe la soluzione più semplice da seguire, ma potrebbe non essere pratico se non si dispone dell'esperienza C ++. Ma quello che stai facendo non sembra un terreno particolarmente nuovo e potrebbe esserci un'implementazione esistente che puoi usare.

    
risposta data 23.08.2012 - 16:51
fonte
3

Se si utilizza IIS7, è possibile scrivere un modulo HTTP .NET e utilizzarlo nella pipeline di richieste ASP classica. La sfida principale sarebbe come capire chi è connesso alla tua classica app ASP da ASP.NET.

Se sei su IIS6, l'unica opzione è ISAPI.

HttpHandlers risolve un problema diverso: gestiscono una richiesta dopo che i moduli sono stati filtrati e modificati. Non sono adatti per questo tipo di funzione di filtro.

    
risposta data 23.08.2012 - 19:55
fonte

Leggi altre domande sui tag