Существует ли лучший способ вызова кода, аутентифицирующего входящие запросы?
При использовании 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;
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... entication
Мобильная версия