0

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

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)

4

1 回答 1

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

  2. 不幸的是, Roles 是静态对象, Roles.ApplicationName 是 静态属性

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

    当您创建一个静态变量时,会声明一个实例并使其可用于整个 AppDomain,每个用户的每个请求都将看到相同的值。”

    静态变量的问题

    因此,您必须在运行授权时锁定线程,或者您可以编写自己的角色提供者

  3. 您可以制作基于路由子域

于 2013-08-16T12:56:32.273 回答