经过身份验证的用户的 spring 安全配置

时间:2021-01-09 00:27:22

标签: spring security

美好的一天。我想知道如何阻止已通过身份验证的用户访问注册页面

现在我的配置是这样的:

@Override
    protected void configure(HttpSecurity http) throws Exception {
        http
                .authorizeRequests()
                .antMatchers("/").permitAll()
                .antMatchers("/registration").permitAll()
                .and()
                    .formLogin()
                    .loginPage("/login")
                    .defaultSuccessUrl("/hello")
                    .permitAll()
                .and()
                    .logout()
                    .logoutSuccessUrl("/hello")
                    .permitAll();
    }

1 个答案:

答案 0 :(得分:3)

你可以直接在你的控制器中写if条件来访问登录页面 如下代码

@GetMapping("/login")
    public String loginPage(Model model) {
        User user = new User();
        model.addAttribute("user", user);
        Authentication authentication = SecurityContextHolder.getContext().getAuthentication();

        if (authentication == null || authentication instanceof AnonymousAuthenticationToken) {
            return "/login";
        }
        return "redirect:/";
    }