Camel - Spring Boot Security - REST - 404 при отправке неверных учетных данных - PullRequest
0 голосов
/ 22 октября 2018

Это действительно странная ошибка.Пробую весеннюю защиту на конечных точках верблюжьих рестлетов

Маршрут

from("restlet://test?restletMethod=GET").to("some endpoint");

Добавлен jar безопасности по умолчанию

spring-boot-starter-security

Application.properties

security.basic.enabled=true
security.user.name=user

Конфигурация контекста

    @Bean
    public ServletRegistrationBean servletRegistrationBean() {
        SpringServerServlet servlet = new SpringServerServlet();
        DispatcherServlet dispatcherServlet = new DispatcherServlet();
        ServletRegistrationBean registration = new ServletRegistrationBean( servlet , "/*");

        registration.setName("restlet");

        Map<String,String> params = new HashMap<>();
        params.put("org.restlet.component", "restletComponent");

        registration.addInitParameter( "org.restlet.component", "restletComponent" );

        return registration;
    }

Когда приложение запускается как приложение с весенней загрузкой, оно генерирует пароль по умолчанию.

Using default security password: f701928f-29c6-448f-9640-430cc5f215be

Теперь, если я позвоню остальным, используя правильные учетные данные, все будет работать нормально.Но если я звоню с неправильными учетными данными , он возвращает 404 не найден

Что не так?

1 Ответ

0 голосов
/ 23 октября 2018

Проблема была в ServletRegistrationBean am Using, которая перехватывает ошибку 401 и отправляет перенаправление на страницу с именем / error.

К сожалению, это не исправлено.Но есть обходной путь.

Создайте простой api rest с именем path с именем '/ error' и верните любой желаемый результат.

Пример

from("restlet:/error?restletMethods=GET").transform(simple("unauthorized"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...