Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc Asp.NETMVC应用程序中的子域_Asp.net Mvc_Subdomain_User Accounts_Infrastructure - Fatal编程技术网

Asp.net mvc Asp.NETMVC应用程序中的子域

Asp.net mvc Asp.NETMVC应用程序中的子域,asp.net-mvc,subdomain,user-accounts,infrastructure,Asp.net Mvc,Subdomain,User Accounts,Infrastructure,大家好 我将开始开发一个营销网站,用户将能够在这个网站上创建帐户。我想分离使用子域的用户区域,就像wordpress.com、ning.com等。如果用户创建一个帐户,例如:“john”,网站应该在john.mydomain.com中对此用户区域作出响应,但代码相同(分离我的子域) 我想知道,我如何做一个代码来识别帐户(在子域中)以显示网站的正确帐户 PS:当然,显示网站不需要经过身份验证 谢谢我的朋友和我得到了我们的一个网站。我们有一个数据库表,其中包含站点ID和域 在基本控制器中,我们在域进

大家好

我将开始开发一个营销网站,用户将能够在这个网站上创建帐户。我想分离使用子域的用户区域,就像wordpress.com、ning.com等。如果用户创建一个帐户,例如:“john”,网站应该在john.mydomain.com中对此用户区域作出响应,但代码相同(分离我的子域)

我想知道,我如何做一个代码来识别帐户(在子域中)以显示网站的正确帐户

PS:当然,显示网站不需要经过身份验证


谢谢

我的朋友和我得到了我们的一个网站。我们有一个数据库表,其中包含站点ID和域

在基本控制器中,我们在域进入时对其进行解析,然后在数据库中找到相应的SiteId。从这个基本控制器继承的所有控制器,SiteId被传递给每个对我们模型的调用

Admin.Site.com -> SiteId = 1
Frank.Site.com -> SiteId = 2
当有人点击
Admin.Site.com
时,SiteId 1被传递给模型以检索数据或保存/编辑/添加/删除数据

下面是我们用来获取域的代码:

public Website CurrentWebsite
{
    get
    {
        if (_website == null)
        {
            var domain = HttpContext.Request.Url.Host;
            _website = _websiteRepository.GetWebsiteByDomain(domain);
        }
        return _website;
    }
}

asp.net mvc中的路由处理在域名之后开始,因此无法使用常规路由处理捕获它

您可以创建一个路由处理程序,在评估路由之前将子域添加到路由数据中(从Request.Url获取)