Аутентификация и авторизация в Spring Data REST
Я реализую приложение Spring Data REST, и я хотел бы знать, есть ли элегантный способ реализации правил аутентификации и авторизации с использованием этой структуры или связанных между собой.
Все HTTP-запросы к серверу REST должны содержать заголовки аутентификации, мне нужно проверить их и принять решение об авторизации или нет на основе метода HTTP и ассоциации аутентифицированного пользователя с запрашиваемым ресурсом. Например, (приложение является сервером REST системы электронного обучения), инструкторы могут получить доступ только к своим разделам курса, студенты могут получить доступ только к разделам курсов, на которые они подписаны, и т.д.
Я хотел бы знать, существует ли способ по умолчанию для авторизации в Spring Data REST. Если ответ будет отрицательным, не могли бы вы предложить предложение по моей проблеме? Я думаю о:
- Сервлет-фильтры
- Spring Безопасность
- Spring Обработчики данных REST (как получить доступ к заголовкам HTTP?)
Ответы
Ответ 1
Лучший выбор для вас - Spring Безопасность.
Это поможет вам добиться авторизации гораздо проще.
Spring Безопасность потребует от вас реализации, которая просматривает заголовки запросов и программно выполняет вход в систему.
Обратите внимание на принятый ответ. Я последовал за этим и реализовал уровень безопасности перед моими службами отдыха (которые были созданы с помощью RestEasy).
Аутентификация RESTful через Spring
Существует альтернативный метод.
обращаться
http://www.baeldung.com/spring-security-authentication-provider
В обоих случаях вы можете отключить создание сеанса, объявив аутентификацию без сохранения состояния в Spring безопасности, это поможет вам значительно повысить производительность, если большой объем обращений будет сделан для служб REST без учета состояния.