静的リソースのからみがあるので、404になる場合の動作が設定により変わる。結局は404ページを表示しようとするが、設定される例外が異なったりする。 404用のページは「resources/templates/error/404.html」あるいは「resources/public/error/404.html」などを設定ことでデフォルトから変えることができる。
はじめに Spring BootにSpring Securityを入れた時のSessionTimeoutのデフォルト挙動は、ログイン画面への自動遷移になる。 一般的な要件として、ログイン画面に遷移したときに「タイムアウトしました。」などのメッセージを表示しなければいけないような時の対応方法を記載する。 ※関連ページ:Spring Boot + Spring Security使用時のCSRFとSessionTimeoutの問題 検証version ・Spring Boot 1.3.3 ・Spring Security 4.0.3 参考までにView側技術 ・Thymeleaf 2.1.4 ・Bootstrap 3.3.6 LoginUrlAuthenticationEntryPointの拡張 org.springframework.security.web.authentication.Lo
はじめに Spring Boot + Spring Security使用時のSessionTimeout対応の最後に、「CSRF対策が有効の場合、POST時にSessionTimeoutしているとHTTP Status:403 Forbiddenが発生してしまう問題がある。」と記載した。 今回はこの問題の対応方法を記載し、Spring SecurityのJavaConfigの完成形を作る。 CSRF対策のせいでHTTP Status:403 Forbiddenが起こる原因 まずこの問題が起こる原因は、CSRF対策の仕組みが、リクエストパラメータで送られるCSRF TokenとSessionに保存されたCSRF Tokenを比較するというロジックであり、Sessionに依存しているから。 SessionがTimeoutによって消滅しているときにCSRF Tokenをリクエストパラメータで送っ
Spring Boot とは Spring プロジェクトが提供する様々なライブラリやフレームワークを、手っ取り早く使えるようにしたフレームワーク。 Dropwizard の Spring 版みたいなの。 ビルドすると単独の jar ファイルができあがる。 Web アプリの場合は、組み込みの Tomcat が起動する(Jetty や Undertow に切り替え可)。 Web アプリでなく、普通の Java プログラムとしても動かせる。 Maven や Gradle などのビルドツールを利用する(Ant でもできなくはない)。 使用したいコンポーネントを依存関係に追加するだけで、結合に必要な設定などが自動で行われる。 環境 Java 1.8.0_45 Gradle 2.3 Spring Boot 1.2.3 Hello World 実装 buildscript { repositories
Spring MVCのコントローラのメソッドで使える戻り値にどんなものがあるか、どういう使い方ができるかをざっくりまとめてみた。 @Controllerと@RestControllerの違い 先に@Controllerと@RestControllerの違いを説明しておく。 Spring MVC ではコントローラクラスにアノテーションで@Controllerまたは@RestControllerを付ける。 @Controllerは主にWebページ用のコントローラで使用する。 Webページ用コントローラはJSPやテンプレートエンジンのViewに遷移してレスポンスのHTMLを生成するので、基本的にメソッドの戻り値はViewの遷移先を指定するのに使用する。 @RestControllerはJsonやXML等を返すWebAPI用のコントローラで使用する。 こちらはViewに遷移しないのでメソッドの戻り
はじめに SpringBoot楽しいですよね。 クラスを作って@Componentを書いて、@Autowireでメンバーに注入する。なんて楽にかけるんだ!!と思っていたのですが、少しクラス数も多くなってきたのでパッケージを分けてみたら org.springframework.beans.factory.NoSuchBeanDefinitionException とエラーが返ってきたので回避方法を調べました。 環境 Spring Tool Suite 3.8.0 失敗したコード うまくいかなかったコードがこんな感じです。かなり簡略化はしています。 ├ com.example/ │ ├ SpringBootPracticeApplication │ └ BatchProcessing └ nextPackage/ └ Hoge package com.example; import org.s
Spring BootでOAuthログインを実現するには、Spring Security OAuthを利用するわけですが、 あまりドキュメントがなかったので備忘録を兼ねてメモっておきます。 とはいえ、大体は以下のページに書いてあるとおりですが。 この記事では、まずOAuthでのログインを実現した後、AngularJSなどのアプリケーションから利用される想定のAPIを作成し、そのAPIにユーザー権限によるアクセス制限を掛けるまでの手順を記載します。 要するに、動的画面遷移を中心に組み立てられたSPAっぽいアプリケーションで、ログインと認可を実現する方法をメモっておきます。 Spring Bootアプリケーションの作成 Spring Bootアプリケーションの作成には幾つか選択肢がありますが、ここではある程度スクラッチで作ることにします。 実際は、Webページ上から雛形プロジェクトをサクッと作
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く