[原创] MVC中验证用户是否登陆,跳出IFrame框架

2015-07-16 1490

建立一个BaseController  所有的控制器继承自BaseController,登陆页面除外。如果登陆页面也继承BaseController,会引起死循环。

     重写OnActionExecuting,

     protected override void OnActionExecuting(ActionExecutingContext filterContext)

        {

            if (GetCurrentUser() == null)// 判断是否登录

            {

                //JavaScriptResult result = new JavaScriptResult();

                //result.Script = "<script>alert(\"抱歉,您还未登录,请先登录\");top.location.href='/Home/Index';<script>";

                //filterContext.Result = result;

                //////"/Home/Index"

               ///////上面注释掉的方法会引起直接输出js文件,打开下载页面

 

                RedirectResult result = new RedirectResult("/Home/NeedLogin");    /////这个控制器是为了实现跳转

                

                filterContext.Result = result;

            }

            base.OnActionExecuting(filterContext);

        }

这个是NeedLogin控制器的视图,在视图中做跳转,跳出整个框架