Web アプリケーションを開発していて、フォームと Windows 認証を組み合わせる必要があります。
私が選択したアプローチは次のとおりです。すべての Web サイトの認証方法はフォーム認証でなければなりません。~/home/Login
フォーム認証を介してログインするためのフォーム ページ ( ) があります。魔法 (および問題) は、1 つのページ (たとえば~/Home/WinLogin
) だけで、認証方法を Windows 認証に設定する必要があることです。このページはHttpContext.User.Identity.Name
、Windows ユーザー名を取得するために読み取るために使用されます。
私が知らないのは、1 つの特定のルートに対して iis6 で win auth を設定する方法です。
ルートは次のようになり~/Home.ashx/WinLogin
ます。わかりましたが、その後はどうですか?仮想ディレクトリとサブディレクトリ WinLogin にディレクトリ Home.ashx を作成しようとしました。しかし、その後~/Home.ashx/Login
(ログインフォームで)機能しなくなりました。
iis6 では ashx ハンドラーを使用する必要があるため、作業を行う通常の Web ページを作成する以外に方法はないようです~/WinLogin.aspx
。ただし、それを避けてMVCのみを使用したかったのです。
iis7 のセットアップ方法に関する情報: IIS 7.0 Server-Side ブログ 完璧ではありません (Mike Volodarsky がカスタム フォーム認証モジュールを作成する必要がありました) が、動作します。