Относительно вашего вопроса 1, самый простой подход, который я могу придумать, - в вашем методе контроллера вы можете сначала проверить авторизацию пользователя на основе идентификатора.UserDetails доступен из SpringSecurityContext, и вы можете извлечь из него идентификатор пользователя, вошедшего в данный момент в систему.Идентификатор, полученный из URL-адреса запроса, также доступен в качестве переменной пути.Если эти два значения не совпадают, вы можете просто вызвать исключение, например AccessDeniedException.Вы можете переместить эту логику в метод в BaseController, который будет действовать как суперкласс для всех ваших контроллеров, и один и тот же метод может использоваться всеми методами контроллера для аналогичной проверки.