Здравствуйте! Впервые практикуюсь в REST и Spring.
Задача: создать простенький API, где всего 2 вида сущностей (посты и комменты к ним) и типичные задачи на создание (POST) и GET/PUT/DELETE по id сущности.
Без особых требований к БД и прочих нюансов, удалось без проблем построить такой сервис с помощью Spring Boot и БД H2. Протестировал на Postman - все отлично работает.
Сложности возникли с реализацией построением защиты. Необходимо реализовать авторизацию исключительно по токену, при этом авторизация для просмотра (всех GET запросов не нужна). Подключал Spring Security, создавал сущность юзера, имплементировал его в качестве автора рабочих сущностей, разделял роли и права на юзер/админ, в какой-то момент все работало (кроме ролей, так и не завел), но аутентификацию запрашивало всегда, включая GET. Откатился назад. Может не с той стороны подхожу? Напомню, что со Spring работаю впервые.
Проект на Gradle, из интересного:
apply plugin: 'spring-boot'
dependencies {
compile 'org.springframework.boot:spring-boot-starter-data-rest'
compile 'org.springframework.boot:spring-boot-starter-data-jpa'
compile 'com.h2database:h2'
}
Структура проекта:
-com
-entities
-BaseEntity (abstract)
-Post
-Comment
- repositories (интерфейсы, extends PagingAndSortingRepository)
-PostRep
-CommentRep
- Application (@SpringBootApplication)
- DatabaseLoader (implements ApplicationRunner, забивает БД сущностями для наглядности)
Подскажите возможные варианты реализации проблемы из заголовка. С чего начать, что и куда добавить? Или зря на Spring Boot делал?
Виртуальный выделенный сервер (VDS) становится отличным выбором
В общем получаю данную ошибку при попытке получить данные из БД mySql в сервлете
Как узнать, что MediaPlayer завершил проигрывать аудио и начать воспроизведение другого аудио?
У меня ест jks файл, который используется для подписи android приложенияТак вот проблема в том как получить пароль (пароли) от сертификата, т
Использую библиотеку Parallec, которая в свою очередь ведет логи в slf4jСкажите можно ли перенаправить сообщения заданного уровня (WARN и страшнее)...