Проверка безопасности Spring присутствует в заголовке с некоторым фиксированным значением

Скажем, у меня есть служба Spring Boot Rest, которую я хотел бы защитить с помощью этой простой логики, если есть заголовок «токен» со значением «123456», тогда запрос в порядке, и я должен его обработать, в противном случае я должен отправить обратно несанкционированную ошибку 401 http.

Как я могу реализовать эту логику в Spring boot 1.5.

Вы пытались это реализовать? если нет, сделайте это и опубликуйте свою работу.

Kamil W 25.10.2018 15:28
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
2 224
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Реализуя GenericFilterBean.

public class CustomAuthenticationFilter extends GenericFilterBean {

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException {
        // get header and validate from request object
        filterChain.doFilter(request, response);
    }
}

И подключите фильтр к вашей конфигурации безопасности.

@Override
protected void configure(HttpSecurity http) throws Exception {
    http.authorizeRequests()
            // other security config
            .addFilterBefore(new CustomAuthenticationFilter(), UsernamePasswordAuthenticationFilter.class);
}

Спасибо, не могли бы вы сказать, что мне делать в фильтре, если значение заголовка неверное? Должен ли я писать непосредственно в объект ответа и возвращаться из функции без вызова filterChain.dofilter?

user1321466 25.10.2018 15:35

Да, если ваши требования не удовлетворены, не продолжайте фильтрацию запросов.

user10367961 25.10.2018 15:37

Другие вопросы по теме