【问题标题】:spring security and VAADIN弹簧安全和 VAADIN
【发布时间】:2016-06-08 18:53:42
【问题描述】:

我正在开发受 Spring Security 保护的 Spring Boot 应用程序。这是安全配置的一部分:

@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“通信错误:无法从服务器读取 UIDL。检查 servlet 映射。错误代码:403”,在从主视图导航到其他视图期间意见。 (例如:/dashboard#!myview)。这是因为调用了AccessDeniedHandlerImpl 句柄方法。我尝试使用以下语句解决此问题,但无济于事:

.antMatchers("/vaadinServlet/UIDL/**").permitAll()
.antMatchers("/vaadinServlet/HEARTBEAT/**").permitAll()

所以,请帮我解决这两个问题:

  1. 使用 java config 在 VAADIN 中禁用 CSRF。
  2. 解决视图导航问题。

谢谢

【问题讨论】:

    标签: spring spring-security vaadin7 vaadin4spring


    【解决方案1】:

    为了解决上述问题,我决定将我的项目分为两个模块。首先是 API 应用程序,它有自己实现的安全配置。其次是 Dashboard,它同时基于 sample 将 Spring Security 与 Vaadin4Spring 集成。

    【讨论】:

      猜你喜欢
      • 2018-09-08
      • 2015-03-07
      • 2011-02-17
      • 2023-01-03
      • 1970-01-01
      • 2012-06-05
      • 2017-08-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多