重定向至IFrame的登录页面

本文关键字:登录 IFrame 重定向 | 更新日期: 2023-09-27 18:26:59

我有一个ASP项目,其中一个模块是一个单独的MVC项目。我使用IFrame显示这个模块(单独托管)。问题是,如果MVC项目的Session过期,我需要将页面重定向到ASP项目的登录页面。

在我的MVC项目中,我有这样的功能:

public ActionResult Login(string reason)
    {
        switch (reason)
        {
            case BUMP_AUTHENTICATION_REQUIRED:
                Response.AddHeader("X-Shell-Redirect", "AccessDenied");
                ViewData["LoginMessage"] = "";
                break;
            case BUMP_SESSION_TIMEOUT:
                Response.AddHeader("X-Shell-Redirect", "SessionTimeOut");
                ViewData["LoginMessage"] = Strings.LoginSessionTimeoutMessage;
                break;
            default:
                ViewData["LoginMessage"] = String.Empty;
                break;
        }
        return View(); //Which return the login view of the MVC Project
    }

我该如何做到这一点?

重定向至IFrame的登录页面

这里的问题是如何在iFrame页面和父页面之间传递消息。无法访问父页的任何方法或属性(由于两者都在不同的域中,因此将显示拒绝访问错误)。我使用"onMessage"事件得到了解决方案。您可以从这个页面获得更多详细信息