Необходимо запретить пользователю прямой доступ(доступ по url из браузера) к jsp страницам. При этом мои страницы лежат в папке WEB-INF/view и все равно прописав url я получаю страницу любую.
Как ограничить прямой доступ?
Есть два способа. Первый - это вообще не использовать url'ы типа /home/<username>, а использовать вместо них просто /home, на который повесить контроллер, отдающий контент только для текущего пользователя. Второй - возвращать ошибку HTTP 403 для пользователей не прошедших проверку и перенаправлять на форму логина или возвращать HTTP 401 для неавторизованных пользователей. С помощью Spring Security это можно сделать так:
@Controller
@RequestMapping("/home")
public class HomeController {
@RequestMapping(path = "/{userName}", method = RequestMethod.GET)
@PreAuthorize("authentication.name == #userName")
public String userHome(@PathVariable("userName") String userName, Model uiModel) {
return "user_home";
}
}
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники