Spring Boot + ThymeleafにおけるCSRF対策
近頃のWebアプリケーションフレームワークにおけるCSRF対策は自動で簡単にできるものが多いですが、Spring BootにおけるCSRF対策でのformタグへのトークン付与もとても簡単です。
「spring-boot-starter-security」というライブラリを使い、formタグに対して、「th:action=〜」の記述さえすれば自動的に付与されるのです。
では実際にやってみましょう。
spring-boot-starter-securityライブラリの追加
pom.xmlのdependenciesの中に以下を追加してください。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>
@EnableWebSecurityの追加
WebSecurityConfigurerAdapterを継承したクラスに、@EnableWebSecurityのアノテーションを追加しておきます。
@EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { }
formの作成
あとはHTMLで、以下のようなformを作成し、th:actionの記述もしてください。
<form th:action="@{/testPost}" action="/testPost" method="post"> ・ ・ ・ </form>
実際に表示を見てみると、
<form action="/testPost" method="post"> <input type="hidden" name="_csrf" value="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"> </form>
のようなタグが入っているかと思います。
最近のフレームワークはやっぱり便利ですね〜。
- 出版社/メーカー: Amazon
- 発売日: 2017/04/06
- メディア: エレクトロニクス
- この商品を含むブログ (17件) を見る
新登場 Fire TV Stick 4K - Alexa対応音声認識リモコン付属
- 出版社/メーカー: Amazon
- 発売日: 2018/12/12
- メディア: エレクトロニクス
- この商品を含むブログを見る
Fire HD 10 タブレット (10インチHDディスプレイ) 64GB
- 出版社/メーカー: Amazon
- 発売日: 2017/10/11
- メディア: エレクトロニクス
- この商品を含むブログ (4件) を見る