2011-08-04 10 views
0

WCFサービスで既にベース認証を使用している人からアドバイスが必要です。WCF。 RESTアーキテクチャー+基本認証。 .NET 4

私のようにそれを行うにはどのように多くの例が見つかりました:

http://www.codeproject.com/KB/WCF/BasicAuthWCFRest.aspx

WcfRestContribを。しかし、.NET 3.5と第2の例の最初の例は、もはや著者によってサポートされていません。おそらく.NET 4の方が優れていて、この問題を解決するための機能がいくつかあります。あらゆる手がかりや情報を感謝します。

そして何らかの理由で、私はJQueryでデータを取得しようとすると奇妙な解析エラーが発生するため、保護されたサーバーからデータを取得することさえできません。基本的な認証がなければ、うまく動作し、jsonで解析することはできません。多分誰かがこのような問題を抱えています。

+1

あなたがここにあなたのエラー情報を貼り付けることができればそれは良いでしょう。 – Jack

答えて

3

jqueryで基本認証を使用するときに発行されるOPTIONS呼び出しに問題があると思います。あなたは、あなたのプロジェクトにGlobal.asaxのを追加することによってこの問題を解決し、次のコードを追加することができます。

protected void Application_BeginRequest(object sender, EventArgs e) 
{ 
    EnableCrossDomainAjaxCall(); 
} 

private void EnableCrossDomainAjaxCall() 
{ 
    HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*"); 

    if (HttpContext.Current.Request.HttpMethod == "OPTIONS") 
    { 
     HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST"); 
     HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Authorization, Accept"); 
     HttpContext.Current.Response.End(); 
    } 
} 

ます。また、ここでは例のソリューションをダウンロードすることができます。http://sameproblemmorecode.blogspot.com/2011/10/creating-secure-restfull-wcf-service.html

+1

リンクに感謝します。これを行う方法に関する、小さくて簡潔な例。 –