Я пытаюсь разработать службу отдыха WCF, для которой требуется авторизация с использованием пользовательского атрибута.
Я хочу отправить ответ в виде кода состояния 401, если ключ авторизации недействителен в пользовательском атрибуте, который реализует IOperationBehavior и IParameterInspector.
любой может сказать мне, как отправить код состояния 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)
{
}