Правильная реализация IAuthorizationFilter в веб-APIC#

Место общения программистов C#
Ответить
Anonymous
 Правильная реализация IAuthorizationFilter в веб-API

Сообщение Anonymous »

Мне не удается понять, как реализовать фильтр авторизации в веб-API с помощью IAuthorizationFilter из System.Web.Http.Filters.

Это простой фильтр Я написал, чтобы отвечать на все запросы, отличные от https, с запрещенным ответом 403:

Код: Выделить всё

public class HttpsFilter : IAuthorizationFilter {
public bool AllowMultiple {
get {
return false;
}
}

public Task ExecuteAuthorizationFilterAsync( HttpActionContext actionContext, CancellationToken cancellationToken, Func continuation ) {
var request = actionContext.Request;

if ( request.RequestUri.Scheme != Uri.UriSchemeHttps ) {
HttpResponseMessage response = request.CreateResponse( HttpStatusCode.Forbidden );
response.Content = new StringContent( "HTTPS Required", Encoding.UTF8, "text/html" );
actionContext.Response = response;

return new Task( delegate() {
return response;
} );
}
else
return continuation();
}
}
То, что я написал до сих пор, работает, но когда я пытаюсь получить доступ к API через обычный http, он просто зависает, и я не получаю ответа.


Подробнее здесь: https://stackoverflow.com/questions/159 ... in-web-api
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»