GrabDuck

Spring Security + Spring MVC + Spring JPA + Vaadin. Часть 2. - Java Inside

:

Тема безопасности в современных реалиях крайне важна. Защите персональных данных уделяют много средств все передовые IT компании. Это вторая часть из цикла статей посвященных изучению взаимодействия технологий Spring и Vaadin.

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

Список пользователей будет находится в БД, соответственно авторизацию нужно сверять с базой.

Давайте приступим к реализации этой задачи.

В первую очередь определимся со структурой данных. Добавим две entity:

User

и UserRole

Для доступа к данным воспользуемся Spring Data:

Теперь необходимо реализовать интерфейс

который является поставщиком

Из реализации видно, что при попытке авторизации в базе по ключу username будет искаться user, если его нет, то будет вызвано

А дальше все тривиально, создается экземпляр UserDetails по login, passowrd и ролям user.

Теперь заменяем конфигурацию списка пользователей в Spring Security на:

Заполняем базу:

Оставляем старое подключение

Проверим как оно работает:

Поймали exception, как и ожидалось меняем password на ‘user’ и …

123

Вы прекрасны.

Скачать проект

Spring Security + Spring MVC + Spring JPA + Vaadin. Часть 2.