当前位置: 首页 > 知识库问答 >
问题:

Spring 安全性重定向到具有基于 Java 的配置的登录表单

谷梁卓
2023-03-14

我正在尝试为任何未经身份验证且当前具有以下配置的请求配置基于Java的Spring Security重定向到登录页面:

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    public void configure(WebSecurity security) throws Exception {
        security
                .ignoring()
                    .antMatchers("/resources/**")
                ;
    }

    @Override
    protected void configure(HttpSecurity httpSecurity) throws Exception {
        httpSecurity
                .formLogin()
                    .loginPage("/login").permitAll()
                .and()
                .authorizeRequests()
                    .anyRequest().authenticated()
                ;

    }
}

在实现 WebApplicationInitializer 的类中,我有以下内容:

AnnotationConfigWebApplicationContext rootContext = new AnnotationConfigWebApplicationContext();
rootContext.register(SecurityConfig.class);
container.addListener(new ContextLoaderListener(rootContext));

configure(HttpSecurity httpSecurity) 方法中设置断点会显示该方法在启动时被调用,但没有请求重定向到 /login

共有1个答案

罗建弼
2023-03-14

为其他有类似问题的人回答我自己的问题。解决方案是添加一个扩展< code > AbstractSecurityWebApplicationInitializer 的新空类,如下所示:

public class SecurityApplicationInitializer extends AbstractSecurityWebApplicationInitializer {
    // Nothing
}
 类似资料:
  • 我有一个Spring Boot应用程序,它有两个安全配置(两个WebSecurityConfigureAdapter),一个用于带有“”endpoint的REST API,另一个用于所有其他endpoint的web前端。安全配置在Github上,下面是一些相关部分: JWTAuthenticationFilter是UsernamePasswordAuthenticationFilter的一个自定义

  • 我正在尝试在Spring应用程序上实现基于角色的身份验证。然而,我被重定向到http://localhost:8080/login?error=true即使凭据是正确的,hibernate也会毫无问题地获取登录凭据。 这是我的SecurityConfig类 这是我的登录控制器 我的角色课 } 用户类 登录模板 [编辑] 用户服务 用户服务实现 [编辑2]日志 o.s.s.a.dao.daoAuth

  • 我正在使用带有java配置和两个HttpSecurity配置的spring-security 3.2.0.rc2。一个用于REST API,一个用于UI。当我发布到/logout时,它重定向到/login?logout,但随后(错误地)重定向到/login。当我成功地输入用户名和密码时,我会被重定向到登录-注销,并且必须再次输入凭据才能进入主页面。因此,似乎login的permitAll不被用于l

  • 我是Spring安全 4 的新手。我已经用支柱 2 和Spring安全性做了一个简单的应用程序。我正在使用自定义登录表单。发生的事情是当我提交登录表单时,我被重定向到 http://localhost:8080/SpringSecurity/admin 但仍然收到以下错误 HTTP状态404- /SpringSecurity/admin 类型状态报告 message/SpringSecurity/

  • 我遵循了spring boot安全教程,但最终结果有一个问题,即在成功登录后,浏览器重定向到。 我什至克隆了教程中引用的代码,认为我输入错误的内容,或者忘记添加组件或其他内容。不,同样的问题也存在。 在Stackoverflow上搜索时,我发现您需要在< code > WebSecurityConfigurerAdapter 的< code>configure方法中定义默认的成功URL,如下所示:

  • 要使default-target-url和authentication-failure-url转到HTTPS,我需要更改什么? Tomcat 6 Spring Security 3.0.x