Pregunta

Estoy utilizando ASP.net para el desarrollo de un sitio web de intranet. Necesito mantener el identificador de usuario en todas las devoluciones de datos para todas las páginas del sitio web. ¿Es aconsejable mantener los datos en la sesión o somether manera está disponible.

¿Fue útil?

Solución

Si se utiliza la autenticación de formularios, a continuación, el nombre de usuario estará disponible como:

Page.User.Identity.Username

Si necesita realizar otra pieza de información alongisde esto, a continuación, utilizar la sesión.

PS. Recomiendo el uso de una clase para envolver sus variables de sesión para los valores por defecto posibles fuerte y typedness.

Otros consejos

FormsAuthentication también es capaz de almacenar un ID de usuario personalizado y resuelve un montón de cosas para ti como el establecimiento de la cookie, la página de inicio de sesión de redirección, etc.

Puede establecer el ID de usuario utilizando la RedirectFromLoginPage método y luego utilizar el evento FormsAuthentication_OnAuthenticate para encontrar y establecer la propiedad Page.User, accede a toda la otra lógica que necesita.

Las formas más comunes de hacer esto están utilizando ya sea la sesión ASP.NET objeto o el uso de cookies.

De cualquier manera va a funcionar bien, pero si lo desea para su información de usuario a persistir incluso después de que la sesión ha terminado (como el cierre de una ventana del navegador), entonces habría que buscar en las cookies. información de la sesión se dispone sobre el cierre de un navegador, o se ha alcanzado el tiempo de espera de la actividad.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top