Весенняя загрузка: Как я могу перенаправить пользователя на страницу входа/регистрации, если он пытается получить доступ к контенту, введя URL-адрес содержимого

#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 значение равно нулю.