カスタム属性を使用した承認が必要なWCFRESTサービスを開発しようとしています。
IOperationBehaviorとIParameterInspectorを実装するカスタム属性で認証キーが無効な場合は、応答を401ステータスコードとして送信したいと思います。
カスタム属性からの応答として401ステータスコードを送信する方法を教えてもらえますか?
これが実装です
public class AuthorizationAttribute : Attribute,IOperationBehavior,
IParameterInspector
{
#region IOperationBehavior Members
public void ApplyDispatchBehavior(OperationDescription operationDescription,
System.ServiceModel.Dispatcher.DispatchOperation dispatchOperation)
{
dispatchOperation.ParameterInspectors.Add(this);
}
#endregion
#region IParameterInspector Members
public object BeforeCall(string operationName, object[] inputs)
{
string publicKey =
WebOperationContext.Current.IncomingRequest.Header["Authorization"];
if (publicKey == "592F2D7E-5E9C-400D-B0AE-1C2603C34137")
{
}
else
{
// Here i would like to send the response back to client
with the status code
}
}
return null;
}
#endregion
}
[Authorization]
public bool signin(string username, string password)
{
}