在MVC应用程序中,我使用AJAX调用了大部分CRUD操作。在AJAX调用时重定向sessiont超时页面
问题是,当会话超时然后,它无法重定向到会话超时页面。
下面是没有AJAX调用时工作正常的相关代码。
[AttributeUsage(AttributeTargets.Class)] //| AttributeTargets.Method
public class ControllerLogAndAccessFilter : FilterAttribute, IActionFilter
{
public void OnActionExecuting(ActionExecutingContext filterContext)
{
\\check if session is null then redirect to session time out page.
}
}
对于登录,我只是检查databsae,没有为memebrship提供商。
[HttpPost]
public JsonResult Login(string username, string password, bool RememberMe)
{
try
{
UserDTO accDTO = new UserDTO()
{
UsernAme = username,
Password = DataEncryption.EncryptPassword(password)
};
UserDTO AccDTO = _iAccount.UserAuthentication(accDTO);
if (AccDTO != null)
{
Session["UserId"] = 1;
Session["userdto_Session"] = AccDTO;
// Remember me
HttpCookie myCookie = new HttpCookie("appCookie");
//chkRememberMe.Checked;
if (RememberMe)
{
myCookie.Values.Add("username", username);
myCookie.Values.Add("password", password);
myCookie.Expires = DateTime.Now.AddMinutes(20);
}
else
{
myCookie.Values.Add("username", string.Empty);
myCookie.Values.Add("password", string.Empty);
myCookie.Expires = DateTime.Now.AddMinutes(5);
}
Response.Cookies.Add(myCookie);
// Remember me
return Json(AccDTO.SID, JsonRequestBehavior.AllowGet);
}
else
{
return Json(null);
}
}
catch (Exception ex)
{
}
return null;
}
Ajax调用用于登录,所有的CRUD操作使用$.AJAX({...});
制成。
显示了AJAX调用 – ssilas777 2014-10-30 04:46:23
检查这个职位代码:HTTP ://sackoverflow.com/questions/26638368/asp-net-mvc-redirect-out-of-a-partial-view-from-controller-to-a-full-view-from-a – 2014-10-30 05:43:10
@EhsanSajjad我正在使用正常的杜松子酒 - 数据库验证。所以,[Authorize]属性不能像上面提到的stackoverflow链接那样处理或工作。 – dsi 2014-10-30 06:03:24