Al momento sto sviluppando un'applicazione web HTML5 / C # per sostituire un'app per moduli ASP.NET precedente e, dopo aver letto molti blog e post, non riesco ancora a comprendere gli obiettivi, gli obiettivi e i punti deboli degli schemi di autenticazione incorporati in ASP. NETTO. Quindi, se implementassi la mia autenticazione / sicurezza nel modo seguente, cosa cambieresti? IE: come saresti più intelligente e più veloce di me. (L'app utilizza socket Web SignalR e richieste AJAX per pilotare il front-end HTML5).
- Tutti gli utenti sarebbero anonimi in base a ASP.NET.
- Le informazioni dell'utente verranno archiviate in un oggetto dizionario esteso all'applicazione.
- L'accesso verrebbe eseguito dal server verificando i crediti forniti contro una tabella utente nel DB.
- In caso di successo, il server di login genera un token per il client da archiviare, a condizione che sia conveniente e sicuro.
- Il token verrebbe inviato con tutte le richieste in modo che ogni richiesta possa essere convalidata sul server e verranno eseguite solo le azioni appropriate (non sono sicuro che SignalR abbia un modo per aggiungere automaticamente un token ad ogni richiesta)
- Il server dovrebbe espirare manualmente i token.
Sarebbe una buona idea abilitare lo stato della sessione e memorizzare le informazioni utente di base lì, quindi non devo espirare manualmente i token? Ma poi dovrei aggiungere manualmente i dati dei cookie alle richieste di SignalR giusto?
Onestamente, mi sento più a mio agio nel girare il mio, soprattutto dal momento che abbiamo altre app (e altri sviluppatori che non amano framework auth) che dipendono dalla nostra tabella utente personalizzata. L'app non è pubblica, quindi non abbiamo bisogno di nulla di speciale come OAuth o server di autenticazione.