Было бы любопытно, если бы был способ проверить, прошла ли проверка подлинности пользователя, прежде чем делать вызов метода, а затем возвращать пользовательский объект и не завершать вызов, если это не так. Например:
Мы устанавливаем принципала пользователя в Application_PostAuthenticateRequest в global.asax для пользователя, выполняющего запрос, если они аутентифицированы, или для анонимного пользователя, если это не так. В настоящее время во всех методах, требующих аутентификации, мы имеем нечто похожее на следующий код:
public Result GetSomeObject()
{
if (HttpContext.Current.Request.IsAuthenticated)
{
}
}
Итог: мы хотим иметь возможность проверить IsAuthenticated ДО того, как мы позволим WCF проникнуть внутрь метода для методов, требующих аутентификации, и, если true, продолжим, если нет, вернем объект Result (JSON) с ошибкой аутентификации.