每个客户端的单独子域

时间:2013-08-16 03:19:15

标签: entity-framework asp.net-mvc-4 iis

假设我有一个表用户和表产品:

Name        Company
John Doe       1
Alex Doe       2
Michael Doe    1

ProductName Company  
Tea            1
Coffee         1

CompanyId   CompanyName
   1         Comapny1  
   2         Company2 

现在我想为Company.MyDomain.Com和Company2.MyDomain.Com等公司单独登录。

客户端自行注册子域。这将允许我为每个子域显示单独的产品列表。做这个的最好方式是什么?我应该使用路由吗?或者只是使用javascript用假域名替换域名? (我目前正在使用simplemembership)

1 个答案:

答案 0 :(得分:0)

  1. 您可以使用Roles.ApplicationName设置“appdomain”。如果您设置:Roles.ApplicationName = "Company",则角色提供者使用Application = Company中的角色子集。同样,您可以设置Roles.ApplicationName = "Company2"

  2. 不幸的是,Roles是static object,Roles.ApplicationName是 static property

    “您的整个ASP.NET MVC应用程序在AppDomain中运行 是应用程序加上为所有用户提供的所有请求, 一切!!

    创建静态变量时,会声明一个实例 每个请求都可以提供给整个AppDomain 用户将看到相同的值。“

    problem with static variable

    因此,您必须在运行authorizeyou can write your own role provider时锁定该主题。

  3. 您可以routing基于subdomain