2017-08-06 6 views
1

私はThymeleaf、静的なフォルダに追加されたCSSファイルを使用して、春のブートに私のHTMLページにCSSを追加しようと、それをそのようリンク:springブートアプリケーションにcssとjsを追加するにはどうすればいいですか?

<link rel="stylesheet" th:href="@{/css/home.css}" href="../../css/home.css" /> 

が、それは動作しませんが。私は、私は私のセキュリティ設定

@Override 
public void configure(WebSecurity web) throws Exception { 
    web 
      .ignoring() 
      .antMatchers("/resources/static/**"); // #3 
} 

に、このメソッドを追加したURLでCSSやJSへのアクセスを停止したい


は、誰もが私のエラーまたは任意の構成が

答えて

8

を必要に応じて何を私に伝えることができます.css.jsは静的リソースで、Springブートはデフォルトで/resources/staticフォルダにマップします

は、例えば:、ちょうど観測ここ

<link th:href="@{/css/style.css}" rel="stylesheet" /> 

は、あなたがそれはあなたのHTMLのheadセクションに以下を追加thymeleaf throughtアクセスしたい場合は/resources/static/css/style.css

に位置していますstyle.cssファイルがあります@EnableWebMvcアノテーションを使用している場合は、独自の設定で静的リソースをマップする必要があります。私は私のセキュリティ設定に、このメソッドを追加

すべてのリソースがそうでなければ.css.jsを、ブラウザからのアクセスを取得する必要があります私はURLでCSSやJSへのアクセスを停止したい

EDIT

ロードされません。

あなたが認証されたユーザーのみのためのリソースへのアクセスを取得する必要がある場合には、以下の構成試すことができます:/resources/staticフォルダに

  1. 移動して、二つのサブフォルダ、匿名ユーザーpublicのためのリソースのための1つを作成し、認証されたユーザーのためのその他private
  2. すべての公共リソースを/resources/static/publicフォルダに置きます。
  3. すべてのプライベートリソースを/resources/static/privateフォルダに置きます。
  4. あなたの春のセキュリティ設定クラスに移動し、この構成でプライベートあなたの/private URLを行います.antMatchers("/private/**").authenticated()と匿名ユーザーのための/publicにアクセスできるよう:最後に

    @Override 
        protected void configure(HttpSecurity http) throws Exception { 
         http 
           .authorizeRequests() 
           .antMatchers("/public/**").permitAll() 
           .antMatchers("/private/**").authenticated() 
           .anyRequest().authenticated() 
           .and() 
           .formLogin() 
           .loginPage("/login") 
           .permitAll() 
           .and() 
           .logout() 
           .permitAll() 
    
         ; 
        } 
    } 
    

    :セキュリティ設定のための.antMatchers("/public/**").permitAll()

例パブリックフォルダの下にstyle.cssファイルがある場合など、パブリックフォルダにアクセスしてからアクセスしてください。http://localhost:808/public/style.cssの場合、ブラウザにはstyle.cssのコンテンツが表示されます。

プライベートフォルダ(認証なし)にアクセスしようとすると、プライベートフォルダの下にprivate.cssがあり、それを試してみてください:http://localhost:808/private/private.css。ログインページにリダイレクトする必要があります。つまり、最初にログインしてから春になると、private.cssリソースにアクセスできます。公共のhtmlページは、パブリックリソースを使用するためにそれをthymeleafするについて

は、同じアプローチである:<link th:href="@{/public/public.css}" rel="stylesheet" />および保護されたリソースに対するユーザのプライベートsorucesが<link th:href="@{/private/syle.css}" rel="stylesheet" />

+0

はどうもありがとうございました、私は@EnableWebMvcを削除し、すべてが –

+0

正常に動作しますが、どのように..cssと.jsのURLからのアクセスを停止できますか? –

+0

私の編集を参照してください、私はそれがあなたが探しているものかどうかわからない。 –