2011-12-15 7 views
2

へのアクセス私はAS3(フラッシュIDEを使用してコンパイルされ、そうでないフレックスアプリケーション)からパスワード保護されたWebサービスにアクセスすることができますどのようにパスワードで保護されたWebサービス

私はちょうどまっすぐhttp://username:[email protected]のようにそれを呼び出し、それが拒否されてみました。私はBASE64に変換するためにウェブサイトを使用するパスワード:

はまた、「資格情報」は、ユーザ名である。この

var authHeader:URLRequestHeader = new URLRequestHeader("Authorization","Basic " + credentials); 
//add the header to request 
request.requestHeaders.push(authHeader); 

を使用してみました。

どちらもうまくいかないようです。ヘッダーがパケットウォッチャーに送られるのを見ていない。

何か不足していますか?

+0

私は前に、私の他の問題ながら、この質問をしてきた、あなたはこれが役立つかもしれません: http://stackoverflow.com/questions/7752821/ does-flash-not-support-username-password-in-a-url-what-are-my-alternativeのパスワード 参照:http://stackoverflow.com/questions/509219/flex-3-how-to-support -http-authentication-urlrequest – Hawks

答えて

0

のようなものを試してみてください:(未テストコード)

import flash.events.Event; 
import flash.events.IOErrorEvent; 
import flash.net.URLRequestMethod; 
import flash.net.URLLoaderDataFormat; 

    attemptLogin("dude","mypassword"); 

    function attemptLogin(username:String, pass:String):void { 

     var req:URLRequest new URLRequest("https://yoursite.com"); 
     req.method = URLRequestMethod.POST; 
     req.data = "username=" + username + "&password=" + pass; 
     var loader:URLLoader = new URLLoader(); 
     loader.dataFormat = URLLoaderDataFormat.VARIABLES; 
     loader.addEventListener(Event.COMPLETE, completeFun); 
     loader.addEventListener(IOErrorEvent.IO_ERROR, IOErrorFun); 
     loader.load(request); 
    } 

    function completeFun(evt:Event):void { // Check server response (using evt.target.data)} 
    function IOErrorFun(evt:IOErrorEvent):void {}