1

春のセキュリティで保護された春のブートアプリを開発しています。セキュリティで保護された構成の一部を次に示します。

@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 をサーバーから読み取ることができませんでした。サーブレットのマッピングを確認してください。エラーcode: 403"、メイン ビューから他のビューへのナビゲーション中。(例: /dashboard#!myview)。これは、 AccessDeniedHandlerImplhandle メソッドが呼び出されるためです。次のステートメントを使用してこれを修正しようとしましたが、役に立ちません。

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

だから、この2つの問題を解決するのを手伝ってください:

  1. Java config を使用して VAADIN で CSRF を無効にします。
  2. ビュー ナビゲーションの問題を解決します。

ありがとう

4

1 に答える 1

1

上記の問題を解決するために、プロジェクトを 2 つのモジュールに分割することにしました。1 つ目は、独自に実装されたセキュリティ構成を持つ API アプリです。2 つ目は、Spring Security と Vaadin4Spring をこのサンプルに基づいて統合した Dashboardです。

于 2016-03-03T10:03:55.733 に答える