#java #spring-boot #spring-mvc #spring-data
Вопрос:
Поэтому я новичок в spring boot и хочу перенаправить пользователя на страницу входа/регистрации, если он не находится в сеансе, и попытаться получить доступ к URL-адресу содержимого, введя его.
например, если я нахожусь в http://localhost:8080/ (это страница входа/регистрации), и я ввел http://localhost:8080/someContent чтобы попытаться получить к нему доступ, я хочу, чтобы он перенаправился обратно на вход/регистрацию, так как пользователь не вошел в/в сеанс.
я попробовал это, вот мой контроллер:
@Сопоставление запросов(«/идеи»)
публичная строка home(сеанс HttpSession, модель модели) {
Long uID = (Long) session.getAttribute("userId");
User user = userService.findById(uID);
if ( uID == null || user == null) {
return "redirect:/";
}
Iterable<Idea> ideas = ideaService.allIdeasH();
model.addAttribute("ideas", ideas);
model.addAttribute("user", user);
return "index.jsp";
}
однако это не работает. есть какие-нибудь идеи??
Комментарии:
1. и что же происходит?
2. Я получаю сообщение об ошибке с белой меткой, в котором говорится, что идентификатор не должен быть нулевым
3. что вы получаете, пожалуйста, от uId
4. Это просто не распознает, что идентификатор равен нулю, а затем перенаправляет
5. Я бы посоветовал вам не делать
User user = userService.findById(uID);
этого, еслиuID
значение равно нулю.