私はエンドポイントの束を提供するスプリングブートアプリケーションを持っています。反応ノードをスプリングエンドポイントで動作させる
スタティックリソースの場合は、Reactプロジェクトのビルド結果を使用します。
私はその方法で、春のWebセキュリティを設定しようとしています:/api/auth/**
へのリクエストを除く/api/**
へのすべての要求は
に行われたすべてのGET
要求を認証しなければなりません
サーバーで、
/api/**
をターゲットにしていないか、認証されていない場合は、index.html
というコンテンツで応答する必要があります。
私は私の春のブートプロジェクトで、次のWebセキュリティの設定コードを使用しています:
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.csrf().disable()
.addFilterBefore(jwtAuthenticationFilter, UsernamePasswordAuthenticationFilter.class)
.authorizeRequests()
.antMatchers("/api/**").authenticated().and()
.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS);
}
/*
* Apparently, permitAll() doesn't work for custom filters, therefore we ignore the signup and login endpoints
* here
*/
@Override
public void configure(WebSecurity web)
throws Exception {
web.ignoring()
.antMatchers(HttpMethod.POST, "/api/auth/**")
.antMatchers(HttpMethod.GET, "/**");
}
は、どのように私はこれらの2つのrequirmentsをmeethことができますか?それとも良い質問ですか、これは良いアプローチですか?静的リソースが提供されるものとは異なるポートでREST APIエンドポイントを提供する方法はありますか? 2つのサーバーを起動する方が良いです(1つのノードサーバーがフロントエンドにサービスを提供し、1つのJavaアプリケーションサーバーがRESTエンドポイントにサービスを提供し、それぞれが異なるポートで待機します)。