AIR アプリで BASIC 認証を行う

夕べ書いた URLLoader + URLRequest で Web サーバからファイルを取得する AIR アプリに、BASIC 認証処理を追加してみた。
実際の運用では、BASIC 認証を行うことになるからな、多分。

(1) Base64Encoder クラスが定義されている mx.utils.* パッケージを import
        import mx.utils.*;
(2) Base64Encoder クラスを使って認証情報(ユーザID,パスワード)を Base64 encode
(3) http request header に Authorization ヘッダラインを追加((2)で encode したデータをセット)

という手順。具体的には、

    <mx:Script>
    <![CDATA[

        import mx.utils.*;
        <略>

        private function getHttp():void {

            var user:String    = "user1"; // ログインID
            var password:String    = "passwd1"; // パスワード
            var encoder:Base64Encoder    = new Base64Encoder();
            encoder.encode(user + ":" + password); // Base64 encode

            var req:URLRequest = new URLRequest();
            req.url    = "http://www.exsample.com/test/hoge.jpg";
            req.requestHeaders = [new URLRequestHeader("Authorization", "Basic " + encoder.toString())]; // Authorization ヘッダラインを追加
            req.userAgent    = "Test Bot 1.0";

            var loader:URLLoader = new URLLoader();

            loader.addEventListener(Event.COMPLETE,loadComp);

            loader.dataFormat = URLLoaderDataFormat.BINARY;
            loader.load(req);

        }

        <略>

    ]]>
    </mx:Script>

ちゅう感じじゃね。

requestHeaders プロパティは配列なので、

            var authorization:URLRequestHeader = new URLRequestHeader("Authorization", "Basic " + encoder.toString());
            req.requestHeaders.push(authorization);

という具合に push してやってもいいけど。うむ。push した方がコード的にはきれいかな。(好みの問題だが:-P)

これで BASIC 認証した先にあるデータもバッチリ落としてくることが出来るようになった。

まあ、今回の案件、別に生データを持って行かれても困るようなものではないので、わざわざ BASIC 認証をかける必要も無いのだが、そこは、それ。最近は、「セキュリティのことはちゃんと考えてますよ!」というポーズも必要だからなあ。(^^;

システム屋として「そこは別に必要ないでしょ?」と思うことでもな。(^^;

トラックバック(0)

このブログ記事を参照しているブログ一覧: AIR アプリで BASIC 認証を行う

このブログ記事に対するトラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/1276

コメントする

このブログ記事について

このページは、shinodaが2010年9月 9日 09:33に書いたブログ記事です。

ひとつ前のブログ記事は「Webサーバから特定のファイルを落としてくるAIRアプリ」です。

次のブログ記事は「ああ、先週末は「お家酒」の肴が若干豪華だった(笑)」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら