フロントとリアエンドクロスドメイン問題の春ブーツを分離

SpringBoot +春のセキュリティサーバ側は、クロスドメインの問題がもたらすために解決されている次のコードを追加します。

インポートにjava.io.IOException;


インポートは、javax.servlet.Filter;

輸入れるjavax.servlet.FilterChain。

インポートするjavax.servlet.FilterConfig。

輸入 javax.servlet.ServletException;

輸入 javax.servlet.ServletRequest;

インポートのjavax.servlet.ServletResponse。

インポートのjavax.servlet.http.HttpServletRequest;

インポートのjavax.servlet.http.HttpServletResponse;


輸入 org.springframework.context.annotation.Configuration。

輸入 org.springframework.core.Ordered;

輸入 org.springframework.core.annotation.Order。


@Order(順序。HIGHEST_PRECEDENCE

@設定

パブリック クラス CorsFilterは実装フィルターを{


    @オーバーライド

    公共 ボイドのinit(に、FilterConfigに、FilterConfig)がスロー ServletExceptionがを{


    }


    @オーバーライド

    公共 ボイドのdoFilter(のServletRequestのServletRequest、ServletResponseをServletResponseを、フィルターチェーンれるFilterChain)がスローにIOException、ServletExceptionがを{

        HttpServletRequestのリクエスト=(HttpServletRequestの)のServletRequest。

        HttpServletResponseの応答=(HttpServletResponseの)たServletResponse。

        response.setHeader(「アクセス制御 - 許可 - 起源」、「*」);

        response.setHeader( "とAccess-Control-Allow-Credentials"、 "真")。

        response.setHeader( "POST、GET、OPTIONS、PUT、DELETE、PATCH、HEAD"、 "アクセス・コントロール・-メソッド許可")。

        response.setHeader(「アクセス制御 - 許可 - マックス・エイジ」、「3600」)。

        response.setHeader( "アクセス・コントロール・-ヘッダを許可" "*");

        もし( "OPTIONS" .equalsIgnoreCase(request.getMethod())){

            response.setStatus(。HttpServletResponseのSC_OK)。

        } {

            filterChain.doFilter(のServletRequest、ServletResponseを)。

        }

    }


    @オーバーライド

    公共の 無効(破棄){


    }

}

 

おすすめ

転載: www.cnblogs.com/siodoon/p/11785554.html