我已创建过滤器以检查会话,如果过期,我将重定向到登录页面。这是我的下面的代码。
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
HttpContext ctx = HttpContext.Current;
if(HttpContext.Current.User.Identity.Name=="")
{
FormsAuthentication.SignOut();
filterContext.Result = new RedirectResult("~/Login/Index");
return;
}
base.OnActionExecuting(filterContext);
}
我装饰了我的动作方法如下。
[SessionTimeOut]
public PartialViewResult GetGridData(string client_id, string emp_id, string empciti_id, string Message)
工作正常。会话到期后,它将呈现登录页面。但我面临的问题是我的布局页面仍然出现在顶部。在中心,我的登录页面显示。所以我该如何解决这个问题?提前谢谢。
答案 0 :(得分:0)
我已创建过滤器以检查会话,如果过期,我将重定向到登录页面。这是我的下面的代码。
你做得不好。这不是好的做法。
您已经有一个名为AuthorizeAttribute
的过滤器属性。我建议使用它。此外,请查看link,其中讨论了 ASP.Net Identity 在您的应用程序中实现授权/身份验证的简便方法。
答案 1 :(得分:-1)
在〜/ Views / Login / Index.cshtml中设置 -
Layout = null;