NTLM認証を有効にしてRDSを機能させるという魔法の組み合わせを手に入れることができないようです。匿名認証だけをオンのままにしておくと、RDS は正常に動作します。サイト全体で有効にするとすぐに、RDS が失敗します (これは予想されることです)。これが私がやったことです:
- これは、Windows XP SP2 および ColdFusion 8、Eclipse + Adobe プラグインです。
- IIS マネージャーで、既定の Web サイトを右クリックし、[プロパティ] を選択します。
- [ディレクトリ セキュリティ] タブで、匿名アクセスと認証制御の [編集] ボタンをクリックします。
- [認証方法] ポップアップ ウィンドウで、匿名アクセスのチェックを外し、統合 Windows 認証をチェックします (他のすべてのチェックも空白にします)。
- [OK]、[OK] の順にクリックし、すべての子サイトの設定を上書きして、サイト全体が NTLM 認証を使用して "保護" されるようにします。
- IIS マネージャに戻り、CFIDE 仮想ディレクトリを右クリックして、[プロパティ] を選択します。
- [ディレクトリ セキュリティ] タブで、認証方法を編集します。統合 Windows 認証のチェックを外し、匿名アクセスをチェックします。OK、OK を押してテストします。
C:\>wget -S -O - http://localhost/CFIDE/administrator/ --2009-01-21 10:11:59-- http://localhost/CFIDE/administrator/ localhost を解決しています... 127.0.0.1 localhost|127.0.0.1|:80 に接続しています... 接続されました。 HTTP 要求が送信され、応答を待っています... HTTP/1.1 200 OK サーバー: Microsoft-IIS/5.1 日付: 2009 年 1 月 21 日 (水) 17:12:00 GMT X-Powered-By: ASP.NET Set-Cookie: CFID=712;expires=Fri, 14-Jan-2039 17:12:00 GMT;path=/ Set-Cookie: CFTOKEN=17139032;expires=Fri, 14-Jan-2039 17:12:00 GMT;path=/ Set-Cookie: CFAUTHORIZATION_cfadmin=;expires=Mon, 21-Jan-2008 17:12:00 GMT;path=/ キャッシュ制御: キャッシュなし コンテンツ タイプ: テキスト/html; 文字セット=UTF-8 長さ: 指定なし [テキスト/html] 保存先: `STDOUT' ... html 出力が続きます ...
これまでのところ、CFIDE ディレクトリと少なくとも 1 つの子ディレクトリは、NTLM 認証なしで機能しているようです。そこで、Eclipse を起動して RDS 接続を確立しようとしました。残念ながら、アクセスが拒否されましたというメッセージが表示されます。もう少し調べてみると、Eclipse が /CFIDE/main/ide.cfm と通信しようとしているようです。信頼できる wget を取り出して、IIS が何をしているかをもう一度確認してください。
C:\>wget -S -O - http://localhost/CFIDE/main/ide.cfm --2009-01-21 10:16:56-- http://localhost/CFIDE/main/ide.cfm localhost を解決しています... 127.0.0.1 localhost|127.0.0.1|:80 に接続しています... 接続されました。 HTTP 要求が送信され、応答を待っています... HTTP/1.1 401 アクセスが拒否されました サーバー: Microsoft-IIS/5.1 日付: 2009 年 1 月 21 日 (水) 17:16:56 GMT WWW 認証: ネゴシエート WWW 認証: NTLM コンテンツの長さ: 4431 コンテンツタイプ: text/html 承認に失敗しました。
他の場所で文書化されている潜在的なハングアップの 1 つは、メイン ディレクトリと ide.cfm ページが実際にはディスク上に存在しないことです。IIS はすべての .cfm ファイルを JRun に渡すように構成され、JRun は ide.cfm を RDS サーブレットにマップするように構成されています。IIS をもう少し合理的にしようとして、メイン ディレクトリと空の ide.cfm ファイルをディスクにドロップしましたが、認証の問題が解決されることを期待していましたが、違いはありませんでした。
回避策として私ができることは、サイト全体を匿名アクセスのままにし、特定のアプリケーション フォルダーで NTLM 統合認証を使用できるようにすることですが、文字通り何百もの Web アプリケーションに対してそれを行う必要があります。うん。
助けてください!!!