2012-03-27 10 views
0

私は2番目のマルチテナントMVCアプリケーションに取り組んでいます。私の最初はサブドメインを使わなかった。代わりに、テナント(clientportal)識別子の最初のパラメータを持つルートを使用しました。サブドメインルートを使用する場合の認証

今回は、実際のサブドメインを使用する必要があります。

Client1.mysite.com
Client2.mysite.com

これを達成するために、私は次のようにサブドメインのルートを実装:

Is it possible to make an ASP.NET MVC route based on a subdomain?

私の質問はこれです。ユーザーの読み込みとリクエストの認証を処理する正しい場所はどこですか?

Application_AuthenticateRequestは、サブドメインルートの前に起動されます。これは、AuthenticateRequestが実行されているときに、どのテナントがそのリクエストを意図しているのかわかりません。

おそらく私はユーザーを読み込み、サブドメインのルートコードでリクエストを認証することができますが、これは間違ったにおいがします。

私はここで何が欠けていますか?

答えて

1

カスタム認証フィルタを使用する必要があります。これはコントローラプロセスの始めに起動され、ControllerContextでユーザを認証するために必要なすべての情報を取得します。

+0

Lazy プロパティを使用してユーザーを保持するWorkContextオブジェクトを作成しました。あなたのソリューションはうまくいったでしょう。 – rboarman

関連する問題