Spring security自定义登录页面不重定向

Posted

技术标签:

【中文标题】Spring security自定义登录页面不重定向【英文标题】:Spring security Custom login page not redirecting 【发布时间】:2021-01-26 21:18:54 【问题描述】:

我正在使用 jsf servlet 并创建了自定义登录页面,使用了带有动作 j_spring_security_check 的表单,方法 POST,使用了 j_username 和 j_password。 问题我点击登录按钮时没有重定向到页面,但在 Chrome 网络列中显示带有 302 状态代码的发布方法 j_spring_security_check,我是否使用正确的弹簧安全方式?

Login.jsf 页面:

<form action="j_spring_security_check" method="POST" >
                    <div class="input-group mb-3">
                        <div class="input-group-append">
                            <span class="input-group-text"><i class="fas fa-user"></i></span>
                        </div>
                        <p:inputText type="text" name="j_username" id="j_username" class="form-control input_user" value="" placeholder="username"/>
                    </div>
                    <div class="input-group mb-2">
                        <div class="input-group-append">
                            <span class="input-group-text"><i class="fas fa-key"></i></span>
                        </div>
                        <p:password type="password" id="j_password" name="j_password" class="form-control input_pass" value="" placeholder="password" />
                    </div>
                    
                    <div class="d-flex justify-content-center mt-3 login_container">
                        <button type="submit" class="btn login_btn"  >Login</button>
                    </div>
                </form>

网络安全配置:

@Override
    protected void configure(HttpSecurity http) throws Exception 
        http.authorizeRequests()
                .antMatchers("/resources/**").permitAll()
                .anyRequest().authenticated()
                .and()
                .formLogin().loginPage("/login").successForwardUrl("/WelcomePage.jsf").failureForwardUrl("/addPicture.jsf").permitAll()

                .successForwardUrl("/WelcomePage.jsf")
                .and()
                .logout().permitAll();

        http.csrf().disable();

    

来自 chrome 的图片:

【问题讨论】:

【参考方案1】:

我解决了问题,将表单中的操作从 j_spring_security_check 更改为 #request.contextPath/login,一切正常。

【讨论】:

以上是关于Spring security自定义登录页面不重定向的主要内容,如果未能解决你的问题,请参考以下文章

Spring Security自定义登录页面

如何使用 Spring Security 自定义登录页面?

如何使用自定义登录页面纠正 Spring Security 异常?

Spring Boot Security 自定义登录页面未加载

Spring Security 未路由到自定义登录页面 404 错误

spring security动态管理资源结合自定义登录页面