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.