2009-06-17 16 views
6

私は、フォーム認証の背後にあるASP.NET MVCアプリケーションを持っています。しかし、(セキュリティ上の理由から)現在のユーザーを偽装する必要があるため、統合Windows認証を強制する必要があるルート(/ report /%)のセットが1つあります。ASP.NET MVCのURLとIISの統合Windows認証

サイト全体を統合Windows認証に設定した場合、firefoxはユーザーがサイトのホームページにヒットしたときにユーザー名/パスワードを2回入力するように促します(Windows認証の場合は1回、フォーム認証の場合はもう一度)。 IEはフォーム認証を要求するだけです。これはうまくいきますが、これはFirefoxのデフォルトの動作だと思いますが、anoyユーザーではないため、Windows認証の要件をサイトの/ report/*セクションのみに制限するように求められています。/report /%内の任意のページに移動します。

ASP.NET Webフォームでは、認証設定を配置するための物理/レポートフォルダがありますが、これは簡単ですが、MVCではこのURLは仮想なので、これはできません。誰もがこれを行う良い方法を知っていますか?私は適切なレポートページにリダイレクトする前にユーザーが最初に通過する必要がある「ゲートウェイ」aspxページを作成しようとしましたが、Firefoxは正しいポイントでWindows資格情報を要求しますが、/report /%ページのいずれかに後続のリクエストの詳細を送信します。何か案は?スーパーに感謝しますか?

答えて

5

ちょうど最近、私は似たようなことをしなければなりませんでした。私はほとんどの私のasp.net MVCアプリケーションのためのフォーム認証の要件を持っていましたが、Windows認証が必要な部分が1つありました。

私がやったことは、私のWebアプリケーションを2つのプロジェクトに分割することでした。

最初のプロジェクトは、IISのWebサイトのルートにホストされていました。これはフォーム認証を実行していました。

2番目のプロジェクトは、同じWebサイトの仮想ディレクトリとしてホストされていました。これはWindows認証を実行していました。

唯一のトレードオフは、/ reports/reports /%(または仮想ディレクトリの名前は何でも構いません)のURLで終わる可能性があることです。

関連する問題