MVC3アプリケーションは、イントラネットプロジェクトテンプレートを使用する場合はWindows認証を、インターネットプロジェクトテンプレートの場合はフォーム認証を使用できます。私はどちらかを使いたいサイトを持っています。さらに、私は、ユーザーを認証する独自のカスタムタイプの認証を使用する既存のサイトを持っています(認証や役割はなく、IDのみ)。認証のためにレガシーシステムからのデータに加えて、それぞれの機能を使用する必要があるかもしれません。このため、私は自分の認証を抽象化し、それを切り離す方法を決定しようとしています。どのような種類の依存関係注入を構成に基づいて使用したいのですが、この同じサイトを2つの異なる場所に配置し、構成を変更するだけで認証モデル(Windows認証/フォーム認証/カスタム認証)を切り替えることができます。MVC3疎結合認証
現在、MVC3テンプレートプロジェクトを含め、私が扱ってきたすべてのASP.NETアプリケーションは、使用されている認証タイプと密接に結びついているようです。
私はこの箱の外ではあまり考えていませんか?
これが可能ですか、またはこの密結合の理由はありますか?私が持っている
UPDATE 本当の問題は、私は他人のために必要なフォーム認証に対して、一部のユーザーのために使用する必要があり、既存のレガシー認証の間にあります。 LogInフォームが使用されていないため、Windows認証とフォーム認証は実際問題ではありません。しかし、カスタム認証とフォーム認証を検討してください。 LogInフォームはFormsAuthentication、特にSystem.Web.Securityに密接に結合されています。 (Membership.ValidateUser、FormsAuthentication.SetAuthCookieなど)。
FormsAuthenticationとMembershipを使用するのではなく、使用する認証をAccountControllerに挿入したいと思います。
これまでのところ私の問題はより意味がありますか?
サイトがローカルで使用されているときにWindows認証を取得しますが、ネットワークに接続していないユーザーはサイトにアクセスする必要があります。この場合、フォーム認証を使用してログインする必要があります。しかし、お客様はログインする必要がありますが、aspnetフォームの認証テーブル、ビューなどを使用していない既存の認証システムを使用します。 –