我正在写一个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请求调用。