Detectar inicio de sesión de usuario en SharePoint

23.9.11 / Comments (2) / by Unknown

Dado que el uso del evento Session_Start en las aplicaciones web de SharePoint es un mecanismo de más que dudoso éxito:

http://stackoverflow.com/questions/2948471/handling-session-start-and-session-end-events-global-asax-sharepoint

http://social.msdn.microsoft.com/Forums/en-US/sharepointdevelopment/thread/79f69293-a91c-4426-acac-ff23030db1ee/

propongo un método para detectar cuando un usuario ha empezado sesión en una aplicación web SharePoint. Aprovechando que disponemos de master pages, podemos incrustar en ellas un control de servidor que se ejecutará en todas las páginas y añadirle la siguiente lógica:

protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
if (HttpContext.Current.Request.Cookies["Mi_Cookie_Sesion"] == null)
{
// Realizar nuestras acciones de inicio de sesión
// ...

HttpContext.Current.Response.Cookies.Add(new HttpCookie("Mi_Cookie_Sesion"));
}
}





Resumiendo, crear una cookie de sesión ASP.NET (objeto HttpCookie sin tiempo de expiración) y comprobar su existencia al iniciar. Las cookies de sesión persisten mientras el usuario está autenticado y caducan cuando hace logout o cuando cierra el navegador.

2 comentarios:

Jose Lazaro @ 22 de junio de 2012, 18:34

Hola como podría calcular la duración de la visita de un usuario a mi intranet de sharepoint

Guillermo @ 11 de abril de 2014, 19:45

Amigo, donde podria poner ese codigo?? quiero que el wellcome domas aparesca cuando esta logueado... gracias por la ayuda!

Publicar un comentario