Что вы можете сделать следующим образом:
- Отключите CORS в приложении Springboot, установив следующее глобально или для конечной точки по своему желанию.
Чтобы установитьCORS на конечную точку:
@CrossOrigin(origins = "http://localhost:9000")
@GetMapping("/greeting")
public Test testing(@RequestParam(required=false, defaultValue="Test") String name) {
System.out.println("in test");
return new Testing(10, String.format(template, name));
}
- Вы можете использовать Spring Security для предварительной авторизации конечных точек вашего контроллера, чтобы убедиться, что только авторизованный имеет доступ к контроллеру.
Как дляпример:
@RestController
@RequestMapping({"/v2/"})
public class ExampleTestController {
@PreAuthorize("hasAuthority('ROLE_ADMIN')")
@RequestMapping(value = "/test", method = RequestMethod.GET)
String test() {
return "Hello";
}
}
Использование безопасности пружин безопасно, поскольку пользователь всегда проверяется перед предоставлением доступа.Даже при использовании Oath2 сгенерированный ключ создается после проверки логина пользователя, и ключ можно использовать для проверки каждого запроса к контроллеру, передав его в заголовке или используя в шаблоне остальных.
- Другойспособ изолировать ваши остальные конечные точки - использовать балансировщик нагрузки (или ngnix или что-либо еще) для блокировки запросов к этим конечным точкам за пределами вашего домена.