電気ウナギ的○○

About Home

AIR アプリで BASIC 認証を行う

shinoda (2010年9月 9日 09:33)

夕べ書いた 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 認証をかける必要も無いのだが、そこは、それ。最近は、「セキュリティのことはちゃんと考えてますよ!」というポーズも必要だからなあ。(^^;

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

電気ウナギ的○○

電気ウナギ的○○

About Back

コメント(0)

電気ウナギ的○○

電気ウナギ的○○

About Back

トラックバック(0)

トラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/1276

電気ウナギ的○○

About This Site

電気ウナギ的○○
岩国在住。広島で働く超零細IT企業社長のいわゆる社長日記。
何か、酒と食い物のことばかり書いているようで・・・お察しのとおり、肥満体です:-)


2011/06/24
iPhone用サイト公開

Create with jQuery, jQTouch.


CLOSE