私は小さなプロジェクト(WCF + REST)を作っていますが、私は小さな問題があります。私は自分の認証と認証のクラスを作りたい。OperationContextのヘッダー
マイ承認クラス:
//validate api key
public class BasicAuthorization : ServiceAuthorizationManager
{
public override bool CheckAccess(OperationContext operationContext,
ref Message message)
{
//some code
}
}
マイ認証クラス
// validation user login & password
public class BasicAuthentication : ServiceAuthenticationManager
{
public override ReadOnlyCollection<IAuthorizationPolicy> Authenticate(
ReadOnlyCollection<IAuthorizationPolicy> authPolicy, Uri listenUri,
ref Message message)
{
//some code
}
}
私はあまりにもいくつかの設定ファイル
<behavior>
<serviceAuthorization
serviceAuthorizationManagerType="WCF.BasicAuthorization, WCF"/>
<serviceAuthenticationManager
serviceAuthenticationManagerType="WCF.BasicAuthentication, WCF"/>
</behavior>
クラスのコードは重要ではありませんが - 問題ではありません。
私の問題は、headersをoperationContextまたはmessageクラスから取得する方法です。私は前に、私は安静にこれを行うので、手動でAuthorizaion header/www-authenticateヘッダーを設定したいが、アプリケーションはそれを見ない。
私はFiddler2をオンにし、例えば任意のヘッダを入れてみてください。
Content-Type: application/xml
Authorization: Basic bla23rwerfsd3==
User-Agent: Fiddler
Host: localhost:59305
そしてmessage.Headers/operationContext.Headersはどんな私のヘッダーを持っていませんが、何の認証を(唯一の他のものを持っていません) 、コンテンツタイプなし
私は同じ問題を抱えています。この問題に対する解決策はありますか? –