Перейти к основному содержимому

· 2 мин. чтения

1. Обзор

В этой быстрой статье мы сосредоточимся на том, как программно установить аутентифицированного пользователя в Spring Security и Spring MVC.

2. Весенняя безопасность

Проще говоря, Spring Security хранит основную информацию о каждом аутентифицированном пользователе в ThreadLocal , представленном в виде объекта аутентификации .

Чтобы создать и установить этот объект аутентификации , нам нужно использовать тот же подход, который Spring Security обычно использует для создания объекта стандартной аутентификации.

· 4 мин. чтения

1. Обзор

Для оптимизации сети некоторые веб-сайты позволяют браузерам кэшировать ресурсы, такие как CSS или JS, в локальном хранилище. Это позволяет браузерам сохранять сетевое обращение для каждого запроса.

Таким образом, кэширование ресурсов жизненно важно для сокращения времени загрузки веб-страниц. Не менее важно очищать кэшированные данные, если они не требуются. Например, если пользователь выходит из веб-сайта, браузеры должны удалить все данные сеанса из кеша.

Есть две основные проблемы с кэшированием данных браузерами дольше, чем требуется:

  • Современные веб-сайты используют богатый набор файлов CSS и JS, которые потребляют много памяти браузера.
  • Веб-сайты, кэширующие конфиденциальные данные, такие как сеансовые файлы cookie, подвержены фишинговым атакам.

В этом руководстве мы увидим, как HTTP -заголовок ответа Clear-Site-Data помогает веб-сайтам очищать локально сохраненные данные из браузеров.

· 6 мин. чтения

1. Обзор

Фреймворк Spring Security обеспечивает очень гибкую и мощную поддержку аутентификации . Наряду с идентификацией пользователя мы обычно хотим обрабатывать события выхода пользователя из системы и, в некоторых случаях, добавлять некое пользовательское поведение выхода из системы. Одним из таких вариантов использования может быть аннулирование пользовательского кеша или закрытие аутентифицированных сеансов.

Именно для этой цели Spring предоставляет интерфейс LogoutHandler , и в этом руководстве мы рассмотрим, как реализовать собственный обработчик выхода из системы.

2. Обработка запросов на выход

Каждое веб-приложение, в котором пользователи входят в систему, должно когда-нибудь выйти из системы. Обработчики Spring Security обычно контролируют процесс выхода из системы . По сути, у нас есть два способа обработки выхода из системы. Как мы увидим, один из них реализует интерфейс LogoutHandler .

· 5 мин. чтения

1. Введение

В большинстве случаев при защите веб-приложения Spring или REST API инструментов, предоставляемых Spring Security, более чем достаточно, но иногда мы ищем более конкретное поведение.

В этом руководстве мы напишем собственный AccessDecisionVoter и покажем, как его можно использовать для абстрагирования логики авторизации веб-приложения и отделения ее от бизнес-логики приложения.

2. Сценарий

Чтобы продемонстрировать, как работает AccessDecisionVoter , мы реализуем сценарий с двумя типами пользователей, ПОЛЬЗОВАТЕЛЬ и АДМИНИСТР, в котором ПОЛЬЗОВАТЕЛЬ может получить доступ к системе только в четные минуты, в то время как АДМИНИСТРАТОР всегда будет иметь доступ.

· 4 мин. чтения

1. Обзор

В этой быстрой статье мы объясним тонкую, но существенную разницу между ролью и GrantedAuthority в Spring Security `` . Подробнее о ролях и полномочиях читайте в статье здесь .

2. Предоставленные полномочия

В Spring Security мы можем думать о каждом GrantedAuthority как об отдельной привилегии . Примеры могут включать READ_AUTHORITY , WRITE_PRIVILEGE или даже CAN_EXECUTE_AS_ROOT . Важно понимать, что имя является произвольным .

· 7 мин. чтения

1. Обзор

В этом руководстве мы создадим страницу входа с использованием Spring Security с помощью:

  • AngularJS
  • Угловые 2, 4, 5 и 6

Пример приложения, которое мы собираемся здесь обсудить, состоит из клиентского приложения, которое взаимодействует со службой REST и защищено базовой HTTP-аутентификацией.

2. Конфигурация безопасности Spring

· 4 мин. чтения

1. Обзор

В этой быстрой статье мы сосредоточимся на использовании нескольких механизмов для аутентификации пользователей в Spring Security.

Мы сделаем это, настроив несколько поставщиков аутентификации.

2. Поставщики аутентификации

AuthenticationProvider — это абстракция для получения информации о пользователе из определенного репозитория (например, из базы данных , LDAP , пользовательского стороннего источника и т. д.). Он использует полученную информацию о пользователе для проверки предоставленных учетных данных.

· 3 мин. чтения

1. Обзор

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

В этом руководстве мы обсудим различные способы поиска зарегистрированных Spring Security Filters .

2. Отладка безопасности

Во-первых, мы включим отладку безопасности, которая будет регистрировать подробную информацию о безопасности по каждому запросу.

· 4 мин. чтения

1. Введение

В этом руководстве мы увидим, как мы можем настроить Spring Security для работы с двумя разными страницами входа , используя два разных http -элемента Spring Security в конфигурации.

2. Настройка 2-х HTTP-элементов

Одна из ситуаций, в которой нам могут понадобиться две страницы входа, — это когда у нас есть одна страница для администраторов приложения и другая страница для обычных пользователей.

Мы настроим два элемента http , которые будут различаться шаблоном URL, связанным с каждым:

· 3 мин. чтения

1. Обзор

В этом руководстве мы обсудим, как внести диапазоны IP-адресов в белый список в Spring Security .

Мы рассмотрим конфигурации Java и XML. Мы также увидим, как внести диапазон IP-адресов в белый список с помощью пользовательского AuthenticationProvider .

2. Конфигурация Java

Во-первых, давайте изучим конфигурацию Java.