Principales respuestas
Sin redirección CustomAuthorize

Pregunta
-
Hola que tal amigos.
Tiempo hacía que no me paseaba por acá, pero el dia de hoy los necesito. Espero y me puedan ayudar.
Tengo una cosa "rara" sucediendo en el sitio.
Resulta que al expirar la sesión lo que quiero simplemente es redirigirlo hacia el login: /Account/Login
pero el CustomAuthorize la redirección solo funciona hasta la segunda vez que el usuario hace click sobre alguna opción del menú.
Es decir: Sesión expirada -pero el sitio sigue cargado- se supone que el usuario al hacer click en alguna opción el Custom al detecar sesión expirada debería de redirigir hacia el login. NO lo hace. Carga el sitio sin algunas partes y hasta que vuelvo a hacer click en algún menú es cuando toma la redirección.
Ésto es lo que tengo en el custom:
protected override bool AuthorizeCore(HttpContextBase httpContext) { bool result = false; //var w=httpContext.Request.Url; var user = HttpContext.Current.User.Identity.Name; if (HttpContext.Current.User != null) if (HttpContext.Current.User.Identity.IsAuthenticated) result = true; //Cuando el usuario ha expirado retorna false! Todo bien hasta aquí!! return result; } protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext) { //Ésta es una clase que realiza la redirección, pero aún asi no lo hace //filterContext.Result = (new Extensions.RedirectController()).RedirectToLogin(); filterContext.Result = new RedirectResult("~/Account/Login"); //Ésto NO lo hace :( }
Alguna idea ?
Muchas gracias
Comparto y aprendo. Saludos desde África
Respuestas
-
o realizar un ActionFilter como se indica aqui
Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos
- Marcado como respuesta Sergio ParraModerator martes, 31 de enero de 2017 10:12
Todas las respuestas
-
-
también puedes hacerte un BaseController que herede de Controller y este BaseController lo hereden todos tus co,troladores. Sobreescribe el método OnActionExecuting que se ejecuta antes de realizar la acción. Ahí puedes detectar la session expirada y redirigir
Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos
-
o realizar un ActionFilter como se indica aqui
Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos
- Marcado como respuesta Sergio ParraModerator martes, 31 de enero de 2017 10:12