如何在WCF RESTful服务中仅验证签名一个位置?

时间:2015-08-08 07:48:19

标签: c# wcf

我正在写一个WCF RESTfull接口,我也写了一个方法来验证invoker的访问。我的环境是: C#+ .NET framework 4.0 + WCF RESTful + Visual Studio 2013 。这是我的验证码:

private bool CheckAuthorization()
{
    var ctx = WebOperationContext.Current;
    var auth = ctx.IncomingRequest.Headers[HttpRequestHeader.Authorization];
    if (string.IsNullOrEmpty(auth) || auth != "123")
    {
       ctx.OutgoingResponse.StatusCode = HttpStatusCode.MethodNotAllowed;
       return false;
    }
    return true;
} 

这是我的验证逻辑:

public string GetData(string a)
{
    if (!CheckAuthorization())
    {
        return "Access Failed!";
    }
    else
    {
        return "OK!You enter:" + a.ToString();
    }
}

我的问题是:如何避免在每个函数中只写一个地方编写验证码?我不想在每个函数中添加 if(!CheckAuthorization())。我的wcf程序只有一些* .svc文件来提供Http请求调用。

0 个答案:

没有答案