1

NTLM認証を使用してactionscript 3.0からWebサービスを呼び出す例はありますか? adobe livedocs には NTLM 認証がサポートされていると記載されていますが、ユーザー資格情報をどこに渡すかわかりません。

ありがとう、ピーター

4

2 に答える 2

1

Adobe AIR を使用している場合を除いて、これが直接可能ではないことは確かです。LiveDocs の認証情報は、AIR にのみ適用されます (メソッド名の横にある小さな記号がこれを示しています)。

NTLM over HTTPについて簡単に読んだところ、サーバーから返された HTTP ステータス コードに基づいて複数の要求を行う必要があるようです。Flash はせいぜいこれらのコードを提供することで不安定であるため、これ自体が問題になる可能性があります。

さらに、NTLM は接続ベースのスキームであり、2 番目と 3 番目の要求の間で接続を維持する必要があります。Flash は keep-alive ヘッダーを送信できず、永続的な接続を作成できません。これにより、Flash が AS3 でネイティブに NTLM 認証を行う可能性がなくなると考えがちです。

ただし、私はNTLMの専門家ではなく、引用したドキュメントは NTLM over HTTP 仕様の公式バージョンではないようです。Flash を介した NTLM の認証が不可能であるとまでは言いません。

于 2009-07-13T03:03:23.680 に答える
0

ActionScript で可能です。あなたが行うすべてのリクエストは、ブラウザに NTLM クレデンシャルを要求することによって、サーバーによってチャレンジされます。その後、Internet Explorer は適切な承認ヘッダーを追加します。次に、サーバーは資格情報を確認し、コンテンツを提供するか、アクセスを拒否します。

これらはすべて、Flash Player サンドボックスに認識されずに行われるため、(サンドボックスの開発者である) 私たちが制御することはできません。そのため、最初のリクエストを行う前に ActionScript を使用して NTLM 認証ヘッダーを事前に追加することはできません。これにより、「チャレンジ」フェーズがバイパスされます。Silverlight でも同様です。

于 2012-10-15T17:56:19.150 に答える