2017-04-12 2 views
0

Ich möchte, dass meine Seite auf die Anmeldeseite umgeleitet werden sollte, wenn die Sitzung abläuft Hier ist mein Code, ich weiß nicht, was falsch ist, es funktioniert nicht, kann jemand Hilfe?Zurück zur Login-Aktion während Sitzung abläuft

Code

public class SessionExpireAttribute : ActionFilterAttribute 
{ 
public override void OnActionExecuting(ActionExecutingContext filterContext) 
{ 
    HttpContext ctx = HttpContext.Current; 
    // check sessions here 
    if (HttpContext.Current.Session["username"] == null) 
    { 
     filterContext.Result = new RedirectResult("~/Account/Login"); 
     return; 
    } 
    base.OnActionExecuting(filterContext); 
} 
} 

namespace FinalTimesheetProject.Controllers 
{ 
public class BaseController : Controller 
{ 
    static string startdate,enddate; 

    // 
    // GET: /Base/ 

    [SessionExpire] 
    public ActionResult Index() 
    { 
     return View(); 
    } 
+0

Aayushi, haben Sie versucht, zu debuggen? Welcher Wert kommt in der Sitzung? – Saurabh

+0

hey, ich hatte es gelöst, danke eine Tonne – aayushi

+0

Teilen Sie die Ursache und Lösung auch, wenn möglich. Es wird für andere von Vorteil sein, wenn jemand in ein ähnliches Problem gerät. – Saurabh

Antwort

0

Heyaa ich es gelöst hatte, tatsächlich der Code, den ich früher nicht mit Ajax Post-Anfragen nicht geschrieben hatte arbeiten .. so dass ich andere Bedingung für sich geschrieben hatte, und es funktioniert jetzt .. dank .. und diesen Code in Ihren Controller, weil mit Klasse RedirectToAction Methode schreiben nicht funktionieren

Code:

protected override void OnActionExecuting(ActionExecutingContext filterContext) 
    { 
     if (filterContext.HttpContext.Session["username"] == null) 
     { 
      //CHECK REQUSET TYPE = GET 
      if (Request.RequestType.Equals("GET")) 
      { 
       //IF REQUEST IS AJAX 
       if (Request.IsAjaxRequest()) 
       { 
        filterContext.Result = Json("SESSION_KILLED", JsonRequestBehavior.AllowGet); 
        return; 
       } 
       //NORMAL REQUSET 
       else 
       { 
        filterContext.Result = RedirectToAction("Login","Account"); 
        return; 
       } 
      } 
      //REQUEST TYPE IS POST 
      else 
      { 
       filterContext.Result = Json("SESSION_KILLED", JsonRequestBehavior.AllowGet); 
       return; 
      } 
     } 
     base.OnActionExecuting(filterContext); 
    } 
Verwandte Themen