0

テーブル User とテーブル Products があるとしましょう:

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 全体で使用できるようになり、すべてのユーザーからのすべての要求に同じ値が表示されます。」

    静的変数の問題

    したがって、 authorizeの実行中はスレッドをロックする必要があります。または、独自のロール プロバイダーを作成することもできます

  3. ルーティングベースのサブドメインを作成できます。

于 2013-08-16T12:56:32.273 に答える