Domanda

Voglio creare un sito Web in cui il sistema di accesso non dovrebbe essere gestito dai cookie, ma su (a) tabelle nel database SQL locale (sul server).

C'è un modo per farlo? Neanche un modo parziale?

Cosa e dove dovrei salvare al posto del cookie ???

È stato utile?

Soluzione

ASP.NET utilizza i cookie di sessione per impostazione predefinita per tenere traccia delle richieste degli utenti. Se utilizzi sessioni Cookieless, troverai l'ID sessione aggiunto in tutte le richieste dal browser. In molti scenari, questo potrebbe anche essere inaccettabile.

Anche se decidi di accedere al database e verificare la presenza di " LoggedIn " contrassegna ogni richiesta, hai ancora bisogno di un modo per identificare la richiesta in arrivo come appartenente a un particolare utente. Questo potrebbe essere sotto forma di valori crittografati in campi nascosti, a seconda del tuo scenario di sicurezza. Detto questo, non è un metodo molto migliore dell'uso dei cookie, poiché qualsiasi dati che provengono dal cliente ha il potenziale per essere manomesso.

Personalmente, penso che i cookie siano fantastici per tracciare le richieste degli utenti purché vengano crittografate correttamente.

Altri suggerimenti

Hai ancora bisogno di un modo per distinguere gli utenti. Se non usi i cookie, dovrai trasferire tali informazioni in url o consentire a un solo utente di accedere a un singolo indirizzo IP (questo è davvero stupido) ... o qualcos'altro. I cookie non sono poi così male :-).

ASP.NET senza cottura

Se hai bisogno di aiuto per implementare effettivamente il sistema di accesso, dovrai includere maggiori dettagli sul tuo problema specifico.

Puoi memorizzare i tuoi nomi utente e così in un database, ma avrai comunque bisogno di un modo per riconoscere l'utente mentre naviga da una pagina all'altra. Questo è il ruolo dei cookie in questo, per mantenere questo token di accesso ...

È possibile implementare altri modi per gestire questo token. È possibile utilizzare i campi nascosti URL o somme (come ViewState di ASP.NET) per memorizzare questo token.

Quindi sì; si può fare. Ma ci vuole un po 'di lavoro, dal momento che non puoi usare ciò che ASP.NET ti fornisce già. (ASP.NET ha funzionalità integrate per gestire questo token come cookie e anche per archiviare le credenziali nel database.)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top