Аутентификация HTTP-сервера Reactor-NettyJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Аутентификация HTTP-сервера Reactor-Netty

Сообщение Anonymous »

Я новичок в реакторе-netty и рассматриваю возможность использования его для замены существующей реализации javalin+jetty.
Существует ли лучший способ вызова кода, аутентифицирующего входящие запросы?
При использовании Javalin или Spark Java я бы использовал фильтр «перед» для вызова моего кода аутентификации. Это четко отделяет мой код аутентификации от кода, выполняющего запрос.
В реакторе-netty я не нашел эквивалента, но, возможно, я ищу с неправильной терминологией.
Лучшее, что я могу пока придумать, — это вызвать логику аутентификации в начале моего методаprocessRequest(), как показано ниже.

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

  public static void main(String[] args) {
DisposableServer server =
HttpServer.create()
.port(8080)
.route(routes ->
routes.get("/hello",
(request, response) -> processRequest(request, response)))
.bindNow();

server.onDispose()
.block();
}

private static Publisher processRequest(HttpServerRequest request, HttpServerResponse response) {

if (!authenticateRequest(request) ) {
return response.status(HttpResponseStatus.UNAUTHORIZED);
}

// If we get here, we have successfully authenticated,
// and can continue to process the request

return response.sendString(Mono.just("Hello World!")));
}

private static boolean authenticateRequest(HttpServerRequest request) {
// Here is where we call the authentication logic.
// hard-coded to false for this simple demo.
return false;
}

Обратите внимание, что вопрос НЕ в том, как аутентифицироваться (у меня есть существующая логика для базового уровня, SPNEGO, OIDC и т. д.). Каково рекомендуемое реактором-нетти место/способ вызова такой логики?

Подробнее здесь: https://stackoverflow.com/questions/798 ... entication
Ответить

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

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

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

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

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