フォーム ベースの認証を使用しているときに Outlook Web Access のセッションが突然終了する

現象

Microsoft Outlook Web Access (OWA) を使用してメールボックスにログオンすると、次の問題が発生することがあります。
  • OWA のスペル チェック機能を使用するときに、次のいずれかのエラー メッセージが表示されます。


    メッセージ 1
    特定できないエラーです。
    メッセージ 2
    このアイテム内のスペル チェックは行えません。後でもう一度やり直してください。
  • OWA セッションが突然終了します。

原因

この現象は、Outlook Web Access サーバーが Microsoft Internet Security and Acceleration (ISA) Server 経由で公開されている場合、または次の条件がいずれも該当する場合に発生することがあります。
  • 汎用名前付け規則 (UNC) 形式 (Domain\User) またはユーザー プリンシパル名 (UPN) 形式 (user@domain.com) を使用してドメインを指定せず、ユーザー エイリアスとパスワードのみを使用してログオンしています。
  • Exchange 仮想サーバーが、フォーム ベースの認証 (Cookie 認証) を使用するように構成されています。

回避策

この問題を回避するには、次のいずれかの方法を使用します。

方法 1 : ログオン時にドメインを指定する

ログオン時に、ログオン資格情報でドメインを指定します。これを行うには、[Servername.com への接続] ダイアログ ボックスの [ユーザー名] の一覧で、次のいずれかの形式を使用します (domain はドメインの名前、user はユーザーのエイリアス)。
domain\user

または


user@domain.com

方法 2 : Logon.asp をカスタマイズする

ログオン時にドメインを指定しないようにする場合は、デフォルトのドメイン (表示/非表示にかかわらず) を含むカスタム Logon.asp ページを作成します。サーバーでサポートされているドメインの一覧を表示することもできます。


次のサンプル コードは、カスタム Logon.asp ページの作成方法を示したものです。このコードを使用するには、各言語バージョンの Logon.asp ファイルに含まれる 2 か所の [<FORM>] インスタンスを次のコードで置き換えます。


: [<FORM>] インスタンスの両方をこのコードで置き換える必要があるのは、一方のインスタンスは豊富な表現用であり、もう一方のインスタンスは基本的な表現用であるためです。この置き換えは、ブラウザに互換性を持たせるために必要です。また、カスタム Logon.asp ページを作成すると、domain\user name というユーザー名ではログオンできなくなります。このユーザー名を使用すると、実際には domain\domain\user name を渡していることになります。


マイクロソフトは、この情報をプログラミング言語の使用方法の一例として提供するだけであり、市場性および特定目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。この資料は、例示されているプログラミング言語やプロシージャの作成およびデバッグに使用するツールについて理解されているユーザーを対象としています。Microsoft Support 担当者は、特定のプロシージャの機能についての問い合わせにはお答えできますが、ユーザー固有の目的に合わせた機能の追加、プロシージャの作成などの内容変更は行っておりません。


重要 : マイクロソフトでは、カスタマイズした OWA オブジェクトに対するサポートは行っていません。したがって、OWA がカスタマイズされているサーバーで発生した OWA の問題に関してマイクロソフトに問い合わせる際には、カスタマイズしたファイルを元のバージョンのファイルに置き換える必要があります。

関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。

327178 [XCCC] Outlook Web Access のカスタマイズに対するマイクロソフトのサポート ポリシー
<script Language=javascript>
<!--
function logonForm_onsubmit()
{
if (logonForm.username.value.indexOf("@") !=-1)
{
return true;
}
logonForm.username.value = "<name of NetBIOS domain here>\\" + logonForm.username.value;
return false;
}
//-->
</script>
<FORM action="/exchweb/bin/auth/owaauth.dll" method="POST" name="logonForm" autocomplete="off" onsubmit="logonForm_onsubmit()">
: スクリプトでは、必ず NetBIOS (Network Basic Input/Output System) ドメイン名をコードに追加してください。上記のスクリプトでは、<name of NetBIOS domain here> の位置にドメイン名を入れます。

方法 3 : ISA Server で、着信方向の Web 要求に対する認証を無効にする

ISA Server を実行しているサーバーの内側から OWA が公開されている場合は、着信方向の Web 要求に対する認証方法が何も構成されていないことを確認します。
  1. ISA Server を開きます。

  2. ISA Server の名前を右クリックし、[プロパティ] をクリックします。
  3. [着信方向の Web 要求] タブをクリックします。

  4. OWA で使用されている Web 要求リスナをクリックし、[編集] をクリックします。

  5. [統合] の認証方法も含めて、すべての認証方法をオフにします。
  6. [OK] をクリックします。
  7. Microsoft ISA Server Web Proxy サービスを再起動します。

詳細

Exchange Server 2003 では、フォーム ベースの認証 (Cookie 認証) で、Exchange システム マネージャのデフォルトのドメイン設定として、バックスラッシュ文字を使用する必要があります。この制限は、UPN 形式を使用したユーザー ログオンをサポートするために設計されたものです。Microsoft インターネット インフォメーション サービス (IIS) のデフォルトのドメインを、"\" が使用されるデフォルトのドメイン設定以外に変更した場合、Exchange システム マネージャによって、サーバー上でデフォルトのドメイン設定が "\" に再設定されます。


さらに、フロントエンドおよびバックエンド間の構成でフォーム ベースの認証が展開されている場合、バックエンド サーバーのデフォルトのドメイン設定はフロントエンド サーバーのデフォルトのドメイン設定と一致している必要があります。ドメイン設定が一致しない場合は、認証の問題が発生する可能性があります。このため、(デフォルトのドメインとしてバックスラッシュの設定が必要な) フロントエンド サーバーでフォーム ベースの認証を有効にする場合は、バックエンド サーバーのデフォルトのドメインも Exchange システム マネージャで "\" に設定する必要があります。


Exchange システム マネージャで認証およびデフォルトのドメイン設定を管理する必要がある理由の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。

240105 [XGEN] Exchange 2000 Server のディレクトリ サービス/メタベース同期に関する概要


264941 [XCCC] 仮想ディレクトリ設定への変更が維持されない

状況

この動作は仕様です。
プロパティ

文書番号:820378 - 最終更新日: 2007/12/03 - リビジョン: 1

フィードバック