java - 无法登录 Spring Security - 总是将我重定向回登录页面

标签 java spring spring-security

请问您的配置有什么问题吗?我无法使用正确的凭据登录,它总是将我重定向回登录页面(代码 302)。当输入http://localhost:8080时- Spring Security 重定向到/login,表单提交后重定向回/login。

protected void configure (AuthenticationManagerBuilder builder) throws Exception {
    builder.inMemoryAuthentication().withUser("user").password("{noop}12345").roles("USER");
}

protected void configure (HttpSecurity http) throws Exception {

    http.authorizeRequests().anyRequest().authenticated()
            .and()
            .formLogin()
            .loginPage("/login").permitAll().defaultSuccessUrl("/start.html").loginProcessingUrl("/authenticateMe");
@GetMapping("/login")
    public String showLogin () {
        return "index";
    }

    @PostMapping("/authenticateMe")
    public String login () {
        return "start";
    }
<body>

  <form method="post" th:action="@{/authenticateMe}"  class="login">
    <p>
        <label th:for="username">Username: </label>
        <input type="text" th:name="username" id="username"/>
    </p>

    <p>
        <label th:for="password">Password: </label>
        <input type="password" th:name="password" id="password"/>
    </p>

最佳答案

您正在覆盖处理登录尝试的 URL。您的代码

@PostMapping("/authenticateMe")
public String login () {
    return "start";
}

正在响应登录请求,但实际上并不对登录信息进行任何处理(例如,在 SecurityContext 上设置 Authentication 对象)。您已经配置了身份验证管理器,因此请从 Controller 中删除代码,这样您的身份验证就可以正确处理。

关于java - 无法登录 Spring Security - 总是将我重定向回登录页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62133534/

相关文章:

java - Android:为 requestcode 值选择什么?

Spring Boot - Hibernate 自定义约束不注入(inject)服务

java - 得到错误 org.springframework.beans.factory.NoSuchBeanDefinitionException : No bean named 'springSecurityFilterChain' is defined

SPRING BOOT 使用 Jasig CAS 配置

java - 在 Java 中,如何在类加载或卸载时运行静态方法?

java - 如何使用 java 在 android 中创建 searchIndex

java - 使用正则表达式java匹配数字和字母/数字(按分隔)

java - 为什么 Spring Boot 的资源优先级会忽略我的外部属性文件?

java - 测试安全 Spring 存储库时出错

java - 暂时禁用 Spring Security (ldap auth)