使用带有EnableOAuth2Sso注释的PCF SSO服务时,如何排除Angular组件



我正在使用Angular和Spring Boot构建一个带有Rest API的单页应用程序。这是我的SpringBoot应用程序:

@SpringBootApplication
@Controller
public class AptSsoAppApplication {
public static void main(String[] args) {
if ("true".equals(System.getenv("SKIP_SSL_VALIDATION"))) {
SSLValidationDisabler.disableSSLValidation();
}
SpringApplication.run(AptSsoAppApplication.class, args);
}
@EnableOAuth2Sso
@Configuration
protected static class SecurityConfiguration extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/health").permitAll()
.anyRequest().authenticated().and()
.csrf()
.csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse());
}
}

Angular项目包含组件。其中一个组件是为健康检查而设计的。SpringBoot应该忽略健康组件的SSO。

我举了这个例子:https://spring.io/guides/tutorials/spring-security-and-angular-js/

对于所有Angular路由,将显示SSO身份验证页面。有人能告诉我我的代码出了什么问题吗?

问题是您的静态资源(角度代码(受到保护。您必须首先允许访问您的angular应用程序。从本质上讲,index.html需要渲染到浏览器,浏览器加载底层的角度依赖关系。

一旦完成,你就可以拥有应用程序中安全的部分和不安全的部分(进行健康检查、允许用户登录等(。

实际实现将基于您在春季如何设置应用程序。

更多信息:在SpringBoot&Spring Security应用程序

相关内容

  • 没有找到相关文章

最新更新