Я знаю, что это обычный вопрос, но я действительно устал от поиска полного решения без успеха.Я сделал фильтр атрибутов, но он работает, только если пользователь взаимодействует с приложением, и я не хочу этого, я хочу, чтобы по окончании сеанса автоматически браузер загружал страницу входа.Может быть, кто-то может показать, какой код я должен использовать в javasccript или html .... и конфигурацию, которую я должен использовать в web.config, если это необходимо.Заранее спасибо.
Это мой фактический атрибут:
[AttributeUsage(AttributeTargets.Method)]
public class SessionExpireCustom : FilterAttribute, IActionFilter
{
public void OnActionExecuting(ActionExecutingContext filterContext)
{
if (HttpContext.Current.Session[HttpContext.Current.Session.SessionID + "_authstatus"] == null)
{
string redirectTo = "~/Account/Login";
if (!string.IsNullOrEmpty(HttpContext.Current.Request.RawUrl))
{
redirectTo = string.Format("~/Account/Login?ReturnUrl={0}", HttpUtility.UrlEncode(HttpContext.Current.Request.RawUrl));
filterContext.Result = new RedirectResult(redirectTo);
return;
}
filterContext.Result = new RedirectResult("~/Account/Login");
return;
}
}
public void OnActionExecuted(ActionExecutedContext filterContext)
{
return;
}
}
И в моем web.config:
<system.web>
<sessionState mode="InProc" cookieless="false" timeout="20" />
<compilation debug="true" targetFramework="4.6.1" />
<httpRuntime targetFramework="4.6.1" maxRequestLength="102400"/>
<!--KiloBytes-->
<httpModules>
<add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" />
</httpModules>
</system.web>