Spring Security 默认登录表单不会被自定义登录页面替换

时间:2021-01-23 12:51:57

标签: java spring-boot spring-security spring-data-jpa

如何在应用程序开始运行时删除默认登录页面作为第一页?我正在构建一个电子商务网站,每个人都可以查看其中包含一些产品的主页,并且只有仪表板在登录后才可用,这应该基于角色即。用户或管理员

我已经禁用了 httpBasic,因为我想要第一个登陆页面,即每个人的主页,而且我想使用自定义登录页面,但是当在浏览器“/login”中使用时,它会登陆默认登录页面


@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    
    
    
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.httpBasic().disable();
        http.formLogin().loginPage("/login");
        
    }
}

在主控制器类中,我有 RequestMapping 用于“/login”重定向到我的自定义页面


@Controller
public class mainController {
    @RequestMapping("/login")
    public String registration() {
        return "login-register";
    }
    @GetMapping("/my-account")
    public String account() {
        return "my-account";
    }
}

1 个答案:

答案 0 :(得分:0)

首先,您的登录页面的名称应与控制器中的返回值匹配。 我的意思是,如果您的登录页面是这样的:login.html 您的控制器方法应该如下所示。


    @GetMapping("/login")
    public String login() {
        return "login";
    }

但是如果问题仍然存在,请尝试修改您的配置方法。

        http
                .formLogin()
                .loginPage("/login");

相关问题