0

すべて同じデータベースを共有する 3 つのサーバーがあります。1 つのサーバーはインターネットに面しています。

CRM の IFRAME に、オンプレミスの標準的な接続方法を使用して CRM Web サービスと通信する Web ページがあります。この IFRAME が IFD を介して表示され、ユーザーがフォーム認証要素を介してログインしている場合、ログイン資格情報を求められます。

どうすればこれを回避できますか?

編集

CRM サービスを対象とする IFRAME は、4 つのサーバー上にあります。2 つのサーバーは、IFD とオンプレミスで使用されます。他の 2 つはオンプレミス専用です。それらはすべて同じドメインにあります。すべてのユーザーは、顧客のコンピューターまたはインターネット カフェのマシンを使用しているため、VPN を使用できない場合、Web 経由でログインできる内部ユーザーです。

4

3 に答える 3

0

問題はサービスではなく、IFrameにあると思います。オンプレミスを介してMSCRMに認証する場合は、Windows認証を実行します。また、IFrameを使用する必要がある場合は、その認証要求が再度実行されます。ブラウザは必要なものをすべて知っているので、これはすべて透過的に処理されます。

IFDを使用する場合、Webサーバーレベルで認証を使用していません。アプリケーションレベルに基づくフォームを使用して認証を行っています。ただし、IFrameはまだ認証を必要としているため、iframeは認証を要求します。

サービスに問題がある場合は、IFrameが表示され、サービス呼び出しをトリガーするアクションはすべて、400または500エラーで失敗します。

では、問題は、Windows認証とフォームベースに対応できるWebページをどのように構築するかということです。これはMSCRMでは簡単です。まず、Webページで認証を実行していないことを確認します。匿名に設定します。これにより、ポップアップが表示されなくなります。次に、CrmAuthenticationTokenコードを使用してトークンを取得し、それをすべての呼び出しに使用してください。サービス自体の.Credentialsプロパティを設定しないでください。

于 2009-04-24T10:03:28.303 に答える
0

問題をよりよく理解するためのいくつかの質問。CrmService を対象とする iframe は同じ IFD サーバー上にありますか? IFD サーバーは他のサーバーと同じドメインにありますか? ユーザーがログインしていると言うとき、ローカル ドメイン ユーザーまたは外部ユーザーを参照していますか?

于 2009-04-24T01:19:54.537 に答える
0

CRM Web サイト内に (独自の仮想ディレクトリではなく) ページを展開していると仮定すると、Robert が言及した SDK の記事を参照できます。

次のタイトルの SDK トピックを参照してください: ASPX ページからの認証。

私の経験では、CRM Web サイト内の Web ページでは常に CRMImpersonator を使用する必要があります。

独自の Web サイトで独自のページを実行している場合: Discovery サービスを表示し、サービスにアクセスするための CRM チケットを取得する必要があります。

于 2009-04-24T16:56:15.097 に答える