当用户尝试进入登录页面时,使用 java spring-security 重定向已经登录的用户

Java Spring 应用程序
_spring-security
__WebSecurityConfigurerAdapter
(自定义登录页面)

用户已登录并尝试进入登录页面

如何在扩展 WebSecurityConfigurerAdapter 类和控制器中管理这个?

我已经查看了一些代码,包括自定义处理程序,但我似乎无法理解它。

@Override

    protected void configure(HttpSecurity http) throws Exception {

        http

          .authorizeRequests()

              .antMatchers("/admin").hasRole("ADMIN")

              .antMatchers("/login*").permitAll()

              .antMatchers("/admin*").denyAll()

              .and()

          .csrf()

          .disable()

          .formLogin()

          .loginPage("/login")

          .defaultSuccessUrl("/admin")

          .failureUrl("/login?error=true")

          .and()

          .logout().logoutSuccessUrl("/login?logout=true");


        http.headers().frameOptions().disable();

    }

预期:用户被重定向到特定的 url

实际:用户到达该页面并具有登录表单


我知道 XML 解决方案和文档,但我没有找到必要的信息来理解这里必须做什么。任何帮助,将不胜感激。


翻阅古今
浏览 98回答 1
1回答

慕容森

回答一下:@Controllerpublic class MainController {      @GetMapping("/register")      public String register(Model model,Principal principal) {        if(principal!=null){          return "redirect:/";        }        else{          UserRegistrationDTO userRegistrationDTO = new UserRegistrationDTO();          model.addAttribute(userRegistrationDTO);          return "userregistration";        }      }}将主要参数添加到控制器并在函数内重定向完成了这项工作
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java