0

したがって、JBOSSサーバーインスタンス内でホストされる3つのFLEXコントロールと、コントロールをレンダリングするためのオブジェクト(および埋め込み)タグを持つページを持つIIS(MVC)アプリケーションがあります。他のサービス(Solr、一部のカスタムWebサービス、およびtika)をホストしているjbossサーバーでHTTP基本認証をセットアップし、資格情報を渡す方法を理解したいと考えています。

これらの基本http認証クレデンシャルをオブジェクト/埋め込みタグのフレックスコントロールに送信するにはどうすればよいですか?

4

1 に答える 1

1

HTMLソースを表示するだけでユーザーの資格情報が表示されるため、このオプションは非常に安全ではないことに十分注意してください。

最初の一歩

開発中にオブジェクト/埋め込みタグ内で宣言されたFlashコントロールにクレデンシャル(demouser / demouser)を渡す場合は、html-template/indexのJavaScriptを使用してnoscriptセクションやその他のいくつかの場所でFlash変数を渡すことができます。 FlexBuilderプロジェクト内の.template.htmlファイル-

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
            id="${application}" width="${width}" height="${height}"
            codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
            <param name="movie" value="${swf}.swf" />
            <param name="quality" value="high" />
            <param name="bgcolor" value="${bgcolor}" />
            <param name="allowScriptAccess" value="sameDomain" />
            <param name="http_user" value="demouser" />
                    <param name="http_password" value="demouser" />
            <embed src="${swf}.swf" quality="high" bgcolor="${bgcolor}"
                width="${width}" height="${height}" name="${application}" align="middle"
                play="true"
                loop="false"
                quality="high"
                allowScriptAccess="sameDomain"
                type="application/x-shockwave-flash"
                flashVars="http_user=demouser&http_password=demouser"
                pluginspage="http://www.adobe.com/go/getflashplayer">
            </embed>
    </object>

デプロイするときは、生成されたHTMLラッパーファイルをラップする必要があります(通常、JSPページのbin-debug /フォルダーにあり、スクリプトレットまたはJSTLタグを使用してユーザーごとに資格情報を書き出します)。たとえば、

flashVars="http_user=demouser&http_password=demouser"

になります

flashVars="http_user=<%=username%>&http_password=<%=password%>"

第二段階

Flexコードで、次の方法でユーザー名とパスワードを取得します。

import mx.core.Application;

var username:String = Application.application.parameters["http_user"];
var password:String = Application.application.parameters["http_password"];
于 2010-03-30T01:06:31.503 に答える