フロントエンド全体のリソースが配置されているアプリケーションがあります。私は物事を分けたいと思います。例えば、gulpによって提供される、UI用の別個のサーバーを用意します。SPAフロントエンド用にSpringブートを設定する
クライアント側でレンダリングされるすべての要求に対して、サーバーがindex.html
を返すと仮定します。
例:角度ルーティングで管理しているものの、何もサーバーを必要としない 'user /:id'経路があります。サーバーがどこにでもリロードまたはリダイレクトされないように、どうすれば設定できますか?
私のセキュリティ設定は、(そのようなことのために、それは責任かどうかを知りません)以下の通りです:
public class Application extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.antMatcher("/**").authorizeRequests().antMatchers("/", "/login**", "/webjars/**", "/app/**", "/app.js")
.permitAll().anyRequest().authenticated().and().exceptionHandling()
.authenticationEntryPoint(new LoginUrlAuthenticationEntryPoint("/")).and().logout()
.logoutSuccessUrl("/").permitAll().and().csrf()
.csrfTokenRepository(csrfTokenRepository()).and()
.addFilterAfter(csrfHeaderFilter(), CsrfFilter.class)
.addFilterBefore(ssoFilter(), BasicAuthenticationFilter.class);
}
これは、別のスラッシュが付いたURLをカバーしていません。例えば。 localhost:8080/im-covered and localhost:8080/im/not/covered – james
@EpicPandaForce '{[path:[^ \\。] *}'はどういう意味ですか?それはどこから来たのですか?私は正規表現を理解して、私はSpringブートが "path"の部分をどのように扱うかを理解していません。 –
@BobbyBrown残念ながら私が知っているのは、[このガイド](https://spring.io/blog/2015/05/13/modularizing-the-client-angular-js-and-spring-security-part- vii)それが働いた。 – EpicPandaForce