mesa-fab-approval/Fab2ApprovalSystem/Misc/SessionExpireFilterAttribute.cs
2025-05-22 13:35:27 -07:00

38 lines
1003 B
C#

#if !NET8
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
#if !NET8
using System.Web.Mvc;
#endif
namespace Fab2ApprovalSystem.Misc {
public class SessionExpireFilterAttribute : ActionFilterAttribute {
public override void OnActionExecuting(ActionExecutingContext filterContext) {
HttpSessionStateBase session = filterContext.HttpContext.Session;
HttpContext ctx = HttpContext.Current;
// check if session is supported
if (GlobalVars.IsUserNameNull(session)) {
// check if a new session id was generated
// this will force MVC to use the standard login redirect, enabling ReturnURL functionality
System.Web.Security.FormsAuthentication.SignOut();
filterContext.Result = new System.Web.Mvc.HttpUnauthorizedResult();
return;
}
base.OnActionExecuting(filterContext);
}
}
}
#endif