Der einfachste Weg in MVC ist, dass im Falle des Ablaufs der Sitzung in jeder Aktion überprüft werden muss, ob die Sitzung vorhanden ist, und falls sie null ist, zur Indexseite umgeleitet wird.
Zu diesem Zweck können Sie ein benutzerdefiniertes Attribut wie folgt erstellen:
Hier ist die Klasse, die ActionFilterAttribute überschreibt.
public class SessionExpireAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
HttpContext ctx = HttpContext.Current;
// Überprüfen Sie hier die Sitzungen
if( HttpContext.Current.Session["username"] == null )
{
filterContext.Result = new RedirectResult("~/Home/Index");
return;
}
base.OnActionExecuting(filterContext);
}
}
Dann fügen Sie einfach dieses Attribut wie folgt zur Aktion hinzu:
[SessionExpire]
public ActionResult Index()
{
return Index();
}
Oder fügen Sie das Attribut nur einmal wie folgt hinzu:
[SessionExpire]
public class HomeController : Controller
{
public ActionResult Index()
{
return Index();
}
}