Autenticazione ASP.NET Vs Autenticazione ASP

domenica 26 dicembre 2004 - 11.50

s_dimaio Profilo | Junior Member

In questi giorni sto lavorando ad un controllo per l’autenticazione dell’utente in .NET. Ci sono però alcuni chiarimento che voglio chiedervi.

Sin dai tempi dell’ASP al momento dell’autenticazione non mi limito a tenere in memoria il nome dell’utente ma ho bisogno di altre informazioni quali id, mail, ruolo più altre informazioni relative a decisioni prese dall’utente durante la navigazione. In ASP creavo quindi una sessione con all’interno un array in cui inserivo tutte queste informazione che poi modificavo e richiamavo a piacimento.

In ASP.NET il ticket di autenticazione standard tiene conto solo del nome utente, quindi ho dovuto usare un ticket personalizzato dove all’interno del campo UserData ho inserito le altre informazioni.

Il mio dubbio è: se l’autenticazione ASP.NET è basata sui cookie allora presenta grossi limiti rispetto alla vecchia autenticazione ASP. Mi riferisco alla quantità di informazioni che posso memorizzare e soprattutto al fatto che devono essere necessariamente di tipo string (addio quindi al mio tanto comodo array).

Non è forse meglio allora passare al ticket solo l’ID e poi recuperare i dati tramite l’ID e tornarli ad inserire in una variabile di sessione? Senza contare che alcuni dati che voglio mantenere in memoria cambiano a seconda del comportamento dell’utente durante la navigazione, ma mentre modificare un array in una sessione è cosa da poco, modificare lo UserData è cosa ben più lunga (ricreare il cookie, raggiungerlo alla collezione del browser, …).

Vi chiedo un’ultima cosa che fatico a capire: se le variabili di sessione sono basate sui cookie, tant’è che se sono disabilitati i cookie ogni nuova richiesta crea una nuova sessione con relativa perdita di dati, perché in una sessione posso memorizzare anche un dataset mentre nei cookie solo stringhe di pochi caratteri?

Ciao e grazie

s_dimaio Profilo | Junior Member

Quindi per il tipo di utilizzo che devo fare io una buona soluzione potrebbe essere tenere nel ticket i dati essesnziali che mi permettano di ricondurmi all'utente, e poi registrare gli altri dati in una session.

Ma allora in tutto questo l'autenticazione di ASP.NET che vantaggi produce? Non è che il codice necessario per un'autenticazione di questo tipo siano propriamente due righe (basta vedere il casotto necessario per implementare i ruoli...) e forse allora è meglio usare un'utenticazione stile ASP sin dall'inizio evitando ticket, web.config, ecc.

s_dimaio Profilo | Junior Member

L'ho letto e devo dire che in effetti ero tentato di rimandare il tutto per aspettare l'arrivo del 2.0. Non resta che attendere con pazienza. Ciao

s_dimaio Profilo | Junior Member

Va a finire che non si dovrà aspettare poi tanto. Dai un'occhiata qui:

http://www.asp.net/MemberRoles/memberroles.htm

Ciao

Brainkiller Profilo | Guru

In effetti con la versione 2.0 il Framework mette a disposizione una completa piattaforma per l'autenticazione degli utenti, ben migliore rispetto alla versione precedente.
Oltre a ciò ci sono già una serie di controlli predefiniti proprio per il login, logout degli utenti, registrazione e modifica dati, ecc.

ciao
david
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5