Авторизация на уровне приложения Spring Boot REST APIJAVA

Программисты JAVA общаются здесь
Anonymous
Авторизация на уровне приложения Spring Boot REST API

Сообщение Anonymous »

В настоящее время создается приложение REST API на базе Spring Boot (пример централизованной системы управления школой). Существуют различные объекты БД, которым предоставляется доступ к CRUD через API, например Учетная запись, Школа, любой подобъект школы, например учитель, студент. и т. д.
Предположим, у нас есть много API, таких как

Код: Выделить всё

GET /api/getschooldetails?account_id=1&school_id=1
GET /api/getteacherlist?account_id=3&school_id=2
GET /api/getstudentdetails?account_id=3&school_id=2&student_id=1
Аналогично POST с телом запроса JSON

Код: Выделить всё

POST /api/addteacher
request : {"account_id":3,"school_id":2,"teachername":"XYZ"}
and
POST /api/updatestudentname
request : {"account_id":3,"school_id":2,"student_id":4,"name":"ABC"}
Как добавить авторизацию на уровне API для полей параметров запроса/JSON, чтобы пользователи, прошедшие аутентификацию как school_id=2, получали ошибку доступа при попытке изменить API позвоните /api/getteacherlist?account_id=3&school_id=2 в /api/getteacherlist?account_id=3&school_id=3 и получите подробную информацию о school_id=3.
Подумываю о добавлении точки AOP @Before для каждого класса контроллера для анализа параметра запроса/JSON и выполнения проверки идентификатора пользователя на основе БД, т. е. если идентификатор пользователя, вошедший в систему (через Spring Security Authentication), имеет доступ к account_id и school_id, упомянутым в запрос, поскольку они являются частью каждого запроса, чтобы избежать дублирования кода или добавления одной и той же проверки в каждый класс DAO перед выполнением фактической операции CRUD. Пожалуйста, сообщите, есть ли другой способ использования Spring.

Подробнее здесь: https://stackoverflow.com/questions/683 ... horization

Вернуться в «JAVA»