spring 安全和 VAADIN
spring security and VAADIN
我正在开发受 spring 安全保护的 spring 启动应用程序。这是安全配置的一部分:
@Override
public void configure(HttpSecurity http) throws Exception {
// @formatter:off
http
// .csrf().ignoringAntMatchers("/dashboard")
// .and()
.httpBasic()
.and()
.headers().frameOptions().disable()
.and()
.antMatcher("/**").authorizeRequests()
.antMatchers("/VAADIN/**", "/PUSH/**", "/UIDL/**").permitAll()
.antMatchers("/vaadinServlet/UIDL/**").permitAll()
.antMatchers("/vaadinServlet/HEARTBEAT/**").permitAll()
.antMatchers("/actuator/health").permitAll()
.antMatchers("/actuator/**").hasAuthority(Authority.Type.ROLE_ADMIN.getName())
.antMatchers("/", "/login**", "/index.html", "/home.html").permitAll()
.and()
.logout().logoutSuccessUrl("/").permitAll()
.and()
.csrf().csrfTokenRepository(csrfTokenRepository())
.and()
.addFilterAfter(csrfHeaderFilter(), CsrfFilter.class)
.addFilterBefore(ssoFilter(), BasicAuthenticationFilter.class);
// @formatter:on
}
我将实施一些管理仪表板以使用 VAADIN 管理我的应用程序。
我读过“在 Spring 或 Vaadin 中禁用 CSRF 保护。如果你都打开了,你的应用程序将无法运行。”。
在我的例子中,我需要在 Vaadin 中禁用 CSRF 保护,但我找不到如何使用 Java 配置来做到这一点。
此时我得到:https://127.0.0.1:8443/vaadinServlet/UIDL/?v-wsver=7.5.5&v-uiId=0"Communication error: UIDL could not be read from server. Check servlets mappings. Error code: 403",在从主视图导航到其他视图的过程中。 (例如:/dashboard#!myview)。这是因为调用了 AccessDeniedHandlerImpl
handle 方法。我已尝试使用以下语句解决此问题,但没有帮助:
.antMatchers("/vaadinServlet/UIDL/**").permitAll()
.antMatchers("/vaadinServlet/HEARTBEAT/**").permitAll()
所以,请帮我解决这两个问题:
- 使用 java 配置在 VAADIN 中禁用 CSRF。
- 解决视图导航问题。
谢谢
为了解决上述问题,我决定将我的项目分成两个模块。首先是 API 应用程序,它有自己实施的安全配置。其次是 Dashboard,它基于 sample.
与 Vaadin4Spring 集成了 Spring 安全性
我正在开发受 spring 安全保护的 spring 启动应用程序。这是安全配置的一部分:
@Override
public void configure(HttpSecurity http) throws Exception {
// @formatter:off
http
// .csrf().ignoringAntMatchers("/dashboard")
// .and()
.httpBasic()
.and()
.headers().frameOptions().disable()
.and()
.antMatcher("/**").authorizeRequests()
.antMatchers("/VAADIN/**", "/PUSH/**", "/UIDL/**").permitAll()
.antMatchers("/vaadinServlet/UIDL/**").permitAll()
.antMatchers("/vaadinServlet/HEARTBEAT/**").permitAll()
.antMatchers("/actuator/health").permitAll()
.antMatchers("/actuator/**").hasAuthority(Authority.Type.ROLE_ADMIN.getName())
.antMatchers("/", "/login**", "/index.html", "/home.html").permitAll()
.and()
.logout().logoutSuccessUrl("/").permitAll()
.and()
.csrf().csrfTokenRepository(csrfTokenRepository())
.and()
.addFilterAfter(csrfHeaderFilter(), CsrfFilter.class)
.addFilterBefore(ssoFilter(), BasicAuthenticationFilter.class);
// @formatter:on
}
我将实施一些管理仪表板以使用 VAADIN 管理我的应用程序。 我读过“在 Spring 或 Vaadin 中禁用 CSRF 保护。如果你都打开了,你的应用程序将无法运行。”。
在我的例子中,我需要在 Vaadin 中禁用 CSRF 保护,但我找不到如何使用 Java 配置来做到这一点。
此时我得到:https://127.0.0.1:8443/vaadinServlet/UIDL/?v-wsver=7.5.5&v-uiId=0"Communication error: UIDL could not be read from server. Check servlets mappings. Error code: 403",在从主视图导航到其他视图的过程中。 (例如:/dashboard#!myview)。这是因为调用了 AccessDeniedHandlerImpl
handle 方法。我已尝试使用以下语句解决此问题,但没有帮助:
.antMatchers("/vaadinServlet/UIDL/**").permitAll()
.antMatchers("/vaadinServlet/HEARTBEAT/**").permitAll()
所以,请帮我解决这两个问题:
- 使用 java 配置在 VAADIN 中禁用 CSRF。
- 解决视图导航问题。
谢谢
为了解决上述问题,我决定将我的项目分成两个模块。首先是 API 应用程序,它有自己实施的安全配置。其次是 Dashboard,它基于 sample.
与 Vaadin4Spring 集成了 Spring 安全性