1

我正在使用 ASP.net MVC4 创建一个新的 Web 应用程序

我们的应用程序网站在 2 个域名 www.domain1.com 和 www.domain2.com 上运行

因为有很多常见的控制器/视图我实现了绑定到域的区域

public override string AreaName
        {
            get
            {
                return "NS1";
            }
        }
        public override void RegisterArea(AreaRegistrationContext context)
        {
            context.MapRoute(
            "NS1_default", "{controller}/{action}",
            new { controller = "Home", action = "Index" },
            new { hostname = new areaRedirect("www.domain1.com") }
        ).DataTokens["UseNamespaceFallback"] = true;
        }

对于域2

public override void RegisterArea(AreaRegistrationContext context)
    {
        context.MapRoute(
        "NS2_default", "{controller}/{action}",
        new { controller = "Home", action = "Index" },
        new { hostname = new areaRedirect("www.domain1.com") }
        ).DataTokens["UseNamespaceFallback"] = true;
    }

这很好用,可以做我需要的一切,但是..

当我从一个区域切换到另一个区域时,我失去了登录会话。

有没有办法保持登录状态?帐户控制器对这两个领域是通用的。

所以基本上相同的应用程序,相同的服务器只是我的命名空间恰好是一个域名

而不是看到 www.somedomain/domain1/action 我们得到 www.domain1/action

谢谢你的时间

4

0 回答 0