2009-07-10 12 views
1

誰が代わりにNTLM認証でのActionScript 3.0からWebサービスを呼び出す例を持っています。 adobe livedocsにはNTLM認証がサポートされていると記載されていますが、ユーザーの資格情報をどこに渡すべきかわかりません。Flash Actionscript NTLM認証の例ですか?

おかげで、 ピーター

答えて

1

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

それはあなたが戻ってサーバから取得するHTTPステータスコードに基づいて、複数の要求を行うためにあなたを必要とするように見えるNTLM over HTTPに関するいくつかの簡単な読書から。これは、Flash自体がこれらのコードを提供することで最大限にフレークであるため、それ自体が問題になる可能性があります。

はさらに、NTLMは、接続ベースのスキームであり、あなたが第二と第三の要求の間で生きて接続を維持する必要があります。 Flashはキープアライブヘッダーを送信できず、永続的な接続を作成できません。私はこれにより、AS3でネイティブにNTLM認証を行う可能性が排除されると考える傾向があります。

ただし、私はではありません。 NTLMの専門家であり、私が引用したドキュメントは、NTLM over HTTP仕様の正式版ではないようです。私には、Flash経由でNTLM認証することは不可能であると言うことと、これまで行くことはありません - それはそれは非常に、非常に難しいがどうなるかに関係なく、のように見えます。

0

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

これはすべて、Flash Playerサンドボックスに認識されていないため、私たち(サンドボックス内の開発者)が制御しないものです。だから我々は「挑戦」フェーズをバイパスだろう最初の要求を、作る前に、NTLM認証ヘッダーを事前に追加するActionScriptを使用することはできません。 Silverlightでも同様です。