我为我的服务实现了IErrorHandler
,如果授权错误,女巫需要返回403而不是400。
这就是我的ProvideFault
方法的样子:
public void ProvideFault(Exception error, MessageVersion version, ref Message fault)
{
if (((FaultException)error).Code.SubCode.Name == "FailedAuthentication")
{
WebOperationContext.Current.OutgoingResponse.StatusCode = HttpStatusCode.Forbidden;
WebOperationContext.Current.OutgoingResponse.StatusDescription =
"StatusCode is forced to change in order to have the correct response on authentication.";
}
}
我想知道是否有任何方法可以为错误及其状态代码编写更好的检查,或者如何获得授权异常,而不是FaultException
女巫?我发现在FailedAuthentication
字符串之后进行检查并不好,实际上它的授权不是身份验证...