1

私はカスタム メンバーシップ プロバイダーを持っています。このプロバイダーは、asp.net Web フォーム アプリケーションに適していて、現在、新しい asp.net MVC マルチテナンシー アプリケーションで使用しています。

メンバーシップ プロバイダーは、Web フォーム内と同様に MVC で適切に機能しますが、ユーザーが特定の「テナント」に対して認証され、認証されているかどうかを確認できる追加の制約を追加する必要があります。現在、URL に基づいて現在の「TenantID」を追跡し、URL の変更を検出しています。User.Identity.IsAuthenticated を確認するだけでなく、Controller と View の基本クラスにこのようなものがあります。

public bool UserIsAuthenticated
{
    get
    {
        return (User.Identity.IsAuthenticated && LoggedInUserTenantID == CurrentTenantID);
    }
}

User.Identity.IsAuthenticated をオーバーライド/置換して、直接使用できるようにするにはどうすればよいですか?

上記に関する提案やコメントは大歓迎です...

4

1 に答える 1

0

私はこの答えを見つけました。

ASP.NET MVC でルート {tenant}/{controller}/{action}/{id} をセットアップしますか?

それを処理し、それが私自身の質問に答えるかどうかを確認します...

編集/更新:

私は最終的にこの解決策にたどり着きました:

User.Identity.IsAuthenticated はまったく影響を受けず、すべてのフォーム認証はそのまま使用され、その他のチェックはテナント/サブドメインの検出によって行われます。

于 2010-04-16T13:03:03.423 に答える