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