Integrare l'autenticazione di ASP.NET con una pagina di login ASP

di Daniele Bochicchio, in ASP.NET, Autenticazione, FormsAuthentication,

ASP.NET prevede, tra i meccanismi di gestione dell'autenticazione, un tipo particolare basato su Form.
Ne parleremo a breve in maniera approfondita nella sezione articoli. Nell'esempio di oggi, invece, vedremo come mantenere l'autenticazione nel tempo.
Seppure FormsAuthentication supporti un metodo SetAuthCookie il cui secondo parametro indica appunto se rendere persistente o meno il cookie di autenticazione, questo in realtà richiede che l'applicazione che effettui l'autenticazione sia ASP.NET.
Dunque, cosa fare se la pagina di autenticazione è ASP, ma si ha un'applicazione ASP.NET da proteggere?
La cosa migliore è utilizzare il meccanismo di autenticazione proprio di ASP.NET, sfruttando il cookie creato dalla pagina ASP per autenticare (o meno) l'utente sull'applicazione ASP.NET.
Dunque, il primo pezzo del lavoro (non contenuto nell'esempio di oggi) consiste nel modificare la fase di login aggiungendo la creazione di un semplice cookie di appoggio.
Lo useremo, come già detto, per autenticare in maniera automatica l'applicazione ASP.NET.
A questo punto per rendere automatica l'autenticazione su Form di ASP.NET, ci basterà aggiungere questo pezzo di codice al nostro global.asax:

<SCRIPT LANGUAGE="VB" RUNAT="SERVER">

Sub Application_BeginRequest (sender as Object, e as EventArgs)
 Try
  If Not(Request.Cookies("community")("name") is nothing) and Request.isAuthenticated = false then
         FormsAuthentication.SetAuthCookie(Request.Cookies("community")("name").ToString, true)
  end if
 Catch ex as Exception
 End try
end sub

</SCRIPT>

Automaticamente in questo modo il cookie di autenticazione di ASP.NET verrà creato (se non presente) nel caso in cui, invece, lo sia il nostro cookie di appoggio, generato dalla nostra applicazione ASP.
Si tratta di un metodo semplice per non buttare via quanto abbiamo già fatto con ASP e che ci consente, allo stesso tempo, di sfruttare appieno le nuove funzionalità di ASP.NET.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi