Domanda

Sto usando ASP.net per lo sviluppo di un sito web intranet. Ho bisogno di tenere l'userid su tutti i postback per tutte le pagine del sito web. È consigliabile tenere quelle informazioni in sessione o somether modo è disponibile.

È stato utile?

Soluzione

Se si utilizza autenticazione basata su form, quindi il nome utente sarà disponibile come:

Page.User.Identity.Username

Se avete bisogno di tenere un altro pezzo di informazione alongisde questo, quindi utilizzare sessione.

PS. Mi consiglia di utilizzare una classe per avvolgere le variabili di sessione per una forte-typedness e potenziali valori di default.

Altri suggerimenti

FormsAuthentication è anche in grado di contenere un userid personalizzato, e risolve un sacco di cose per voi come impostazione il cookie, pagina di login reindirizzamento etc.

È possibile impostare l'ID utente utilizzando il RedirectFromLoginPage metodo e poi utilizzare il FormsAuthentication_OnAuthenticate evento di trovare e impostare la proprietà Page.User, per accedere a tutti l'altra logica è necessario.

I modi più comuni di fare questo si utilizza sia la sessione ASP.NET oggetto o utilizzando i cookie.

In entrambi i casi funziona bene, ma se lo si desidera per le loro informazioni utente a persistere anche dopo che la sessione è scaduta (come ad esempio la chiusura di una finestra del browser), allora si potrebbe voler esaminare i cookie. informazioni di sessione sarà smaltito con la chiusura di un browser, oppure è stato raggiunto il timeout di attività.

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