长话短说,我试图用Spring Security保护一些传统的Angular应用程序。
是整个角度静态的东西src/main/resources/static
所有应该受到保护的东西都在
之下src/main/resources/static/protected-stuff
这是我的配置(它是整个Spring Boot应用程序配置的一部分):
@Override
protected void configure(HttpSecurity http) throws Exception {
http.formLogin()
.loginPage("/login.html").permitAll()
.loginProcessingUrl("/dologin")
.failureForwardUrl("/login.html?isError=true")
.failureUrl("/login.html?isError=true")
.defaultSuccessUrl("/protected-stuff/index.html")
.and()
.authorizeRequests()
.antMatchers(HttpMethod.GET, "/", "/index.html", "/home.html", "/login/**").permitAll()
.antMatchers("/protected-stuff/**").authenticated()
.and()
.csrf().disable();
}
现在,对我来说有问题的部分是:
.antMatchers("/protected-stuff/**").authenticated()
重定向errorneus登录,处理登录请求(它点击AuthenticationProvider)等工作,但重定向到受保护的东西后成功验证导致重定向回登录页面。现在我怀疑资源过滤器和Spring Sec拦截器(好吧,再次,过滤器)相互冲突,但我不能确定是否有可能克服这种情况?
欢迎并赞赏任何帮助/建议。
答案 0 :(得分:0)
我通过Spring Security和Spring Boot调试来确定实际问题是什么。实际上它是Spring Boot加载的配置顺序。 Spring Security本身没什么。所以基本上它只是给Spring Sec的配置最高级别。