如何使用户名显示在站点的每个页面上,而不仅仅是主页上?

hjzp0vay  于 2021-10-10  发布在  Java
关注(0)|答案(0)|浏览(229)

我有一个用户身份验证,如果他使用自己的用户名进入网站,如果他没有在网站上注册,则显示他的名字,然后匿名写。我在站点菜单的一侧显示此检查。事实证明,这是我在主控制器中写的,主控制器负责站点的起始页。问题是,当我浏览网站的另一个部分的菜单时,例如博客,那么菜单中自然没有检查,也没有显示任何内容。我还需要在网站的任何页面的菜单中显示用户名或匿名名称。当然,我可以在负责站点不同部分的每个控制器中写下这个检查,但是有些东西告诉我,这不是正确的决定,应该是不同的。有人能就如何在这种情况下采取最佳行动提出建议吗?

@Controller
public class MainController {

@GetMapping("/index")
public String homePage(@AuthenticationPrincipal User user, Model model){
    if(user != null){
        model.addAttribute("user", user.getUsername());
        return "/index";
    } else {
        model.addAttribute("user", "Аноним");
        return "/index";
    }
}

}

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题