mvc ajax访问后台时session过期无法跳转到Login页面问题解决
public class BaseController : Controller
{
protected User UserInfo
{
set
{
Session["UserInfo"] = value;
} get
{
if (Session["UserInfo"] == null)
{
return null;
}
else
{
return (User)Session["UserInfo"];
}
}
} protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
//验证码
if (filterContext.ActionDescriptor.ActionName.Equals("ValidateCode", StringComparison.CurrentCultureIgnoreCase))
{
return;
}
#region Session判断
if (UserInfo==null && !filterContext.ActionDescriptor.ActionName.Contains("Login"))
{
filterContext.Result = //new RedirectResult("/Home/Login");//这样也可以
new RedirectToRouteResult(
new System.Web.Routing.RouteValueDictionary { { "controller", "Home" }, { "action", "Login" } });
//Response.Redirect("/Home/Login");//不建议这个,它会继续往下执行action
return;
}
#endregion base.OnActionExecuting(filterContext);
}
}
前台解决嵌套iframe问题(针对ActionResult返回页面有效,用ajax请求无效)
<script type="text/javascript">
$(function () {
//判断一下当前是不是做顶层,如果不是,则做一下顶层页面重定向
if (window != top) {
top.location.href = location.href;
}
});
</script>
针对ajax请求,使用以上方式,ajax请求是没有变化的,ajax返回的状态码302,而Login返回状态码200,理论是显示的,但是
mvc ajax访问后台时session过期无法跳转到Login页面问题解决的更多相关文章
- MVC 访问IFrame页面Session过期后跳转到登录页面
Web端开发时,用户登录后往往会通过Session来保存用户信息,Session存放在服务器,当用户长时间不操作的时候,我们会希望服务器保存的Session过期,这个时候,因为Session中的用户信 ...
- 在子页面session过期无法跳转到父页面
当session过期后可以用过滤器来设置重定向页面 public class ActionFilter extends HttpServlet implements Filter { private ...
- MVC Ajax调用Action时-OnActionExecuting RedirectResult 无法跳转的处理办法
public class BaseController : Controller { protected override void OnActionExecuting(ActionExecuting ...
- layui弹窗里面 session过期 后跳转到登录页面
1.在登录页面添加 <script> $(function () { if (top != window) { layer.msg("登录失效", {icon: 5}) ...
- 页面ajax自带的访问后台时,正在加载中
ajax自带访问后台时,提示正在加载中,加载完成后自动消除遮罩层,代码如下: var mask=mui.createMask();//遮罩层 //传统ajax的post请求方式 mui.ajax('h ...
- js - 原生ajax访问后台读取数据并显示在页面上
1.前台调用ajax访问后台方法,并接收数据 <%@ page contentType="text/html;charset=UTF-8" language="ja ...
- ajax Session失效如何跳转到登录页面
在Struts应用中,我们发出的请求都会经过 相应的拦截器进行相关处理,一般都会有一个用户登录拦截(Session失效拦截):一般请求的话,如果Session失效时,我们会跳到登录页面,可是如果我们采 ...
- MVC session过期如何处理跳转
以前我们总是会写一个基类也叫父类来判断session是否已过期然后跳转到指定的错误页面或者登陆界面,然后让所有的页面都继承这个基类,但是当我们应用到MVC项目中时,发现该方法并不会起作用.这时我们可以 ...
- 如果后台用framset框架布局,session过期,整个跳出回 登录页面的方法
如果session过期了,登录页面会在framset框架的右边显示,只能用 js 来做,让整个框架跳出去: 然而,这里 js 必须要用“top”才可以,作用是让整个framset都跳转,直接用 win ...
随机推荐
- 环境准备——之Jdk安装
JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK),没有JDK的话,无法编译Java程序(指java源码.java文件),如果想只运行Java程序(指cl ...
- [shell] 脚本使用 【记录】
1.nginx日志切割 vi /var/log/nginx/cut_nginx_log.sh #!/bin/bash date=$(date +%F -d -1day) cd /var/log/ngi ...
- [Database] Oracle 中的where 可以后接group by
SELECT e.DEPTNO,COUNT(e.EMPNO) FROM emp e WHERE e.DEPTNO=10 GROUP BY e.DEPTNO
- JavaScript常见案例
一.点灯开关控制: <!DOCTYPE html><html lang="en"><head> <meta charset="U ...
- MYSQL 总结——2
1.mysql限制显示条目数:Limit, Offset 图片网址:https://sqlbolt.com/lesson/filtering_sorting_query_results 实例: SE ...
- 『OpenCV3』霍夫变换原理及实现
霍夫变换常用于检测直线特征,经扩展后的霍夫变换也可以检测其他简单的图像结构. 在霍夫变换中我们常用公式 ρ = x*cosθ + y*sinθ 表示直线,其中ρ是圆的半径(也可以理解为原点到直线的距离 ...
- js 里面的那些节省字节的写法 a|0 void 0等等
//取整 parseInt(a,10); Math.floor(a); ~~a; //节省之后的写法 a|0; //节省之后的写法 //四舍五入 Math.round(a); a+.5|0; //节省 ...
- 6月19 使用tp框架生成验证码及文件上传
ThinkPHP中自带能生成验证码的类:ThinkPHP/Library/Think/Verify.class.php 默认情况下,验证码的字体是随机使用 ThinkPHP/Library/Think ...
- REACT Missing “key” prop for element
https://stackoverflow.com/questions/48266018/missing-key-prop-for-element-reactjs-and-typescript Whe ...
- python 二分法模板——牢记
class Solution: # @param nums: The integer array # @param target: Target number to find # @return th ...