2017-03-17 |
- |
5.2.1 RELEASE版公開
|
|
全般 |
ガイドラインの誤記(タイプミスや単純な記述ミスなど)の修正
記載内容の改善
以下のプロジェクト作成時に使用する maven-archetype-plugin のバージョンを2.4に固定するように変更(guideline#2523)
|
|
ガイドラインの観点別マッピング |
記載内容の追加
|
|
ドメイン層の実装 |
記載内容の改善
|
|
入力チェック |
記載内容の改善
|
|
セッション管理 |
記載内容の追加
- セッションスコープに格納しているオブジェクトを受け取る際にリクエストパラメータのバインドを防止する方法について追記(guideline#1293)
|
|
国際化 |
記載内容の追加
|
|
データベースアクセス(MyBatis3編) |
記載内容の追加
|
|
データベースアクセス(JPA編) |
記載内容の追加
|
|
E-mail送信(SMTP) |
記載内容の追加
|
|
認証 |
記載内容の追加
記載内容の修正
|
|
認可 |
記載内容の追加
|
2016-08-31 |
- |
5.2.0 RELEASE版公開
|
|
全般 |
ガイドラインの誤記(タイプミスや単純な記述ミスなど)の修正
記載内容の改善
章立てを全面見直し
共通ライブラリのバージョンを5.2.0.RELEASEに更新
記載内容の改善
|
|
TERASOLUNA Server Framework for Java (5.x)のスタック |
記載内容の追加
利用するOSSのバージョン(Spring IO Platformのバージョン)を更新
- Spring IO Platformのバージョンを2.0.6.RELEASEに更新
- Spring Frameworkのバージョンを4.2.7.RELEASEに更新
- Spring Securityのバージョンを4.0.4.RELEASEに更新
Spring IO Platformのバージョン更新に伴い利用するOSSのバージョンを更新
|
|
ドメイン層の実装 |
記載内容の追加
- MyBatis 3.3 + MyBatis-Spring 1.2 において、 @Transactinal の timeout 属性に指定した値は使用されない旨を追加(guideline#1777)
|
|
アプリケーション層の実装 |
記載内容の追加
|
|
入力チェック |
記載内容の改善
記載内容の追加
|
|
例外ハンドリング |
Spring Framework 4.2.7対応に伴う修正
|
|
二重送信防止 |
記載内容の追加
@TransactionTokenCheck アノテーションのtype属性に新たに追加された TransactionTokenType.CHECK の仕様、利用方法に関する記載の追加
(guideline#2071)
「How To Extend プログラマティックにトランザクショントークンのライフサイクルを管理する方法について」を削除。
TransactionTokenContext が提供していたアプリケーション向けAPIを使用した場合、
TransactionToken を正しい状態に維持できなくなるなど、フレームワーク内部の挙動に影響を及ぼすような作り込みができてしまうことから、
当該APIの非推奨化がなされた。非推奨化にあわせて該当機能の利用方法の記述を削除した。
|
|
国際化 |
記載内容の改善
|
|
ファイルアップロード |
記載内容の追加
|
|
ヘルスチェック |
新規追加
|
|
RESTful Web Service |
記載内容の変更、追加
|
|
RESTクライアント(HTTPクライアント) |
記載内容の改善
|
|
SOAP Web Service(サーバ/クライアント) |
記載内容の追加
|
|
データベースアクセス(MyBatis3編) |
記載内容の追加
|
|
排他制御 |
記載内容の追加
|
|
ロギング |
記載内容の追加
|
|
文字列処理 |
記載内容の追加
|
|
Beanマッピング(Dozer) |
記載内容の追加
|
|
JMS(Java Message Service) |
新規追加
|
|
認証 |
Spring Security 4.0.4対応に伴う修正
- Spring 4.0.4にて authentication-failure-url の仕様が改善されたことによるコード例の修正とNoteの削除 (guideline#1963)
|
|
認可 |
記載内容の追加
|
|
代表的なセキュリティ要件の実装例 |
記載内容の追加
- 「セキュリティ観点での入力値チェック」を追加
- 「監査ログ出力」を追加
|
|
参考書籍 |
記載内容の追加
|
2016-02-24 |
- |
5.1.0 RELEASE版公開
|
|
全般 |
ガイドラインの誤記(タイプミスや単純な記述ミスなど)の修正
記載内容の改善
|
|
はじめに |
記載内容の追加
- ガイドラインに記載している内容の動作検証環境に関する記載を追加
|
|
TERASOLUNA Server Framework for Java (5.x)のスタック |
利用するOSSのバージョン(Spring IO Platformのバージョン)を更新
- Spring IO Platformのバージョンを2.0.1.RELEASEに更新
- Spring Frameworkのバージョンを4.2.4.RELEASEに更新
- Spring Securityのバージョンを4.0.3.RELEASEに更新
Spring IO Platformのバージョン更新に伴い利用するOSSのバージョンを更新
新規プロジェクト追加
terasoluna-gfw-string 、terasoluna-gfw-codepoints 、terasoluna-gfw-validator 、terasoluna-gfw-web-jsp プロジェクトの説明を追加。
共通ライブラリの新機能追加
terasoluna-gfw-string
-
terasoluna-gfw-codepoints
- コードポイントチェック
- コードポイントチェック用Bean Validation制約アノテーション
terasoluna-gfw-validator
- バイト長チェック用Bean Validation制約アノテーション
- フィールド値比較相関チェック用Bean Validation制約アノテーション
|
|
はじめてのSpring MVCアプリケーション |
記述内容の改善
AuthenticationPrincipalArgumentResolver のパッケージ変更
|
|
チュートリアル(Todoアプリケーション) |
Spring Security 4 対応に伴う修正
AuthenticationPrincipalArgumentResolver のパッケージ変更
- デフォルトでtrueになる仕様のため、サンプルソースから
<use-expressions="true"> を削除
|
|
Webアプリケーション向け開発プロジェクトの作成 |
記述内容の改善
|
|
アプリケーション層の実装 |
記述内容の改善
|
|
データベースアクセス(共通編) |
記載内容の追加
|
|
データベースアクセス(MyBatis3編) |
MyBatis 3.3 対応に伴う記載内容の追加
|
|
データベースアクセス(JPA編) |
ガイドラインのバグ修正
記載内容の改善
|
|
入力チェック |
記述内容の改善
|
|
ロギング |
記述内容の改善
- デフォルトでtrueになる仕様のため、サンプルソースから
<use-expressions="true"> を削除
|
|
セッション管理 |
記述内容の改善
|
|
国際化 |
記述内容の改善
|
|
コードリスト |
記載内容の追加
|
|
RESTful Web Service |
記述内容の改善
|
|
RESTクライアント(HTTPクライアント) |
新規追加
|
|
SOAP Web Service(サーバ/クライアント) |
新規追加
|
|
ファイルアップロード |
記述内容の改善
- アップロード処理の基本フロー、及びその説明をSpringの
MultipartFilter を用いた記述に修正 (guideline#193)
- セキュリティ上の問題や、APサーバによって動作が異なる等の課題があるため、「クエリパラメータでCSRFトークンを送る方法」を削除。
ファイルアップロードの許容サイズを超過した場合、一部APサーバでCSRFトークンチェックが正しく行われない注意点を追加(guideline#1602)
|
|
ファイルダウンロード |
Spring Framework4.2 対応に伴う記載内容の追加
記述内容の改善
- iTextの仕様変更のため、
com.lowagie:itext:4.2.1 を利用したソース例をcom.lowagie:itext:2.1.7 を利用する形に修正
|
|
E-mail送信(SMTP) |
新規追加
|
|
日付操作(JSR-310 Date and Time API) |
新規追加
|
|
日付操作(Joda Time) |
記載内容の改善・追加
|
|
文字列処理 |
新規追加
|
|
セキュリティ対策 |
構成見直し
|
|
Spring Security概要 |
Spring Security 4 対応に伴う修正
spring-security-testの紹介
- デフォルトでtrueになる仕様のため、サンプルソースから
<use-expressions="true"> を削除
RedirectAuthenticationHandler 非推奨化に伴う説明の削除
|
|
Spring Securityチュートリアル |
Spring Security 4 対応に伴う修正
|
|
認証 |
Spring Security 4 対応に伴う修正 (guideline#1519)
auto-config="true" の削除
- 認証イベントリスナを
@org.springframework.context.event.EventListener に修正
AuthenticationPrincipal のパッケージを修正
- デフォルトでプレフィックスが付与されるため、サンプルソースから
ROLE_ プレフィックスの削除
|
|
認可 |
Spring Security 4 対応に伴う修正 (guideline#1519)
- デフォルトでプレフィックスが付与されるため、サンプルソースから
ROLE_ プレフィックスの削除
- デフォルトでtrueになる仕様のため、サンプルソースから
<use-expressions="true"> を削除
@PreAuthorize の定義例追加
|
|
CSRF対策 |
Spring Security 4 対応に伴う修正
- CSRF無効化の設定を修正
<sec:csrf disabled="true"/>
|
|
暗号化 |
新規追加
|
|
代表的なセキュリティ要件の実装例 |
新規追加
|
|
セッションチュートリアル |
新規追加
|
|
チュートリアル(Todoアプリケーション REST編) |
Spring Security 4 対応に伴う修正
- CSRF無効化の設定を修正
<sec:csrf disabled="true"/>
- デフォルトでtrueになる仕様のため、サンプルソースから
<use-expressions="true"> を削除
|
2015-08-05 |
- |
5.0.1 RELEASE版公開
|
|
全般 |
ガイドラインの誤記(タイプミスや単純な記述ミスなど)の修正
記載内容の改善
アプリケーションサーバに関する記載内容の修正
- Resinに関する記載を削除
- リファレンスページへのリンクを最新化
|
|
はじめに |
記載内容の追加
- ガイドラインに記載している内容の動作検証環境に関する記載を追加
|
|
TERASOLUNA Server Framework for Java (5.x)のスタック |
セキュリティ脆弱性対応に伴い利用するOSSのバージョン(Spring IO Platformのバージョン)を更新
- Spring IO Platformのバージョンを1.1.3.RELEASEに更新
- Spring Frameworkのバージョンを4.1.7.RELEASEに更新 (CVE-2015-3192)
- JSTLのバージョンを1.2.5に更新 (CVE-2015-0254)
Spring IO Platformのバージョン更新に伴い利用するOSSのバージョンを更新
記載内容の改善 (guideline#1148)
terasoluna-gfw-recommended-dependencies 、terasoluna-gfw-recommended-web-dependencies 、terasoluna-gfw-parent プロジェクトの説明を追加。
- プロジェクトの説明を修正。
- プロジェクト間の依存関係を示す図を追加。
|
|
Webアプリケーション向け開発プロジェクトの作成 |
記載内容の追加
|
|
データベースアクセス(共通編) |
記載内容の追加
|
|
データベースアクセス(MyBatis3編) |
ガイドラインのバグ修正
|
|
ロギング |
記載内容の改善
|
|
セッション管理 |
記載内容の改善
|
|
二重送信防止 |
記載内容の追加
|
|
コードリスト |
記載内容の追加
|
|
|
CVE-2015-3192(XMLの脆弱性)に関する注意喚起を追加
|
|
|
共通ライブラリのバグ改修に伴う修正
|
|
認証 |
記載内容の改善
ExceptionMappingAuthenticationFailureHandler の親クラスのプロパティの扱いに関する注意点を追加 (guideline#812)
AbstractAuthenticationProcessingFilter のrequiresAuthenticationRequestMatcher プロパティの設定例を修正 (guideline#1110)
|
|
認可 |
ガイドラインのバグ修正
|
|
環境依存性の排除 |
記載内容の追加
- Tomcat8使用時の外部クラスパス(Tomcat7の
VirtualWebappLoader の代替機能)の適用方法を追加 (guideline#1081)
|
2015-06-12 |
全般 |
5.0.0 RELEASE英語版公開 |
2015-03-06 |
RESTful Web Service |
ガイドラインのバグ修正
- 例外ハンドリング用のサンプルコード(
NullPointerException が発生するコードが含まれている問題)を修正。
修正内容の詳細は、guideline#918のIssueを参照されたい。
|
|
チュートリアル(Todoアプリケーション REST編) |
ガイドラインのバグ修正
|
2015-02-23 |
- |
5.0.0 RELEASE版公開
|
|
全般 |
ガイドラインの誤記(タイプミスや単純な記述ミスなど)の修正
記載内容の改善
新規追加
version 5.0.0対応に伴う更新
|
|
TERASOLUNA Server Framework for Java (5.x)のスタック |
Spring IO Platform対応
- 一部のライブラリを除き、推奨ライブラリの管理をSpring IO Platformに委譲する構成に変更した旨を追加。
OSSバージョンの更新
|
|
はじめてのSpring MVCアプリケーション |
version 5.0.0対応に伴う更新
- Spring Framework 4.1の適用。
- ドキュメント上の構成の見直し。
|
|
アプリケーションのレイヤ化 |
英語翻訳のバグ修正
|
|
チュートリアル(Todoアプリケーション) |
version 5.0.0対応に伴う更新
- Spring Framework 4.1の適用。
- インフラストラクチャ層としてMyBatis3をサポート。
- ドキュメント上の構成の見直し。
|
|
Webアプリケーション向け開発プロジェクトの作成 |
新規追加
- マルチプロジェクト構成のプロジェクト作成方法を追加。
|
|
ドメイン層の実装 |
Spring Framework 4.1対応に伴う修正
- JTA 1.2の
@Transactional の扱いに関する記載を追加。
修正内容の詳細は、guideline#562のIssueを参照されたい。
- JPA(Hibernate実装)使用時の
@Transactional(readOnly = true) の扱い関する説明を修正。
SPR-8959(Spring Framework 4.1以降)の対応により、
JDBCドライバに対して「読み取り専用のトランザクション」として扱うように指示できるように改善された。
記載内容の追加
|
|
インフラストラクチャ層の実装 |
MyBatis3対応に伴う修正
- RepositoryImplの実装としてMyBatis3の仕組みを利用する方法を追加。
|
|
アプリケーション層の実装 |
Spring Framework 4.1対応に伴う修正
|
|
データベースアクセス(共通編) |
共通ライブラリのバグ改修に伴う修正
Spring Framework 4.1対応に伴う修正
- JPA(Hibernate実装)の悲観ロックエラーがSpring Frameworkの
PessimisticLockingFailureException に変換されない問題に関する記載を削除。
この問題は、SPR-10815(Spring Framework 4.0以降)で解決済みである。
Apache Commons DBCP 2.0対応に伴う修正
- Apache Commons DBCP 2.0用のコンポーネントを使用するようにサンプルコード及び説明を変更。
|
|
データベースアクセス(MyBatis3編) |
新規追加
- O/R MapperとしてMyBatis3を使用してインフラストラクチャ層を実装する方法を追加。
|
|
排他制御 |
ガイドラインのバグ修正
Spring Framework 4.1対応に伴う修正
- JPA(Hibernate実装)の悲観ロックエラーがSpring Frameworkの
PessimisticLockingFailureException に変換されない問題に関する記載を削除。
この問題は、SPR-10815(Spring Framework 4.0以降)で解決済みである。
MyBatis3対応に伴う修正
- MyBatis3使用時の排他制御の実装方法を追加。
|
|
入力チェック |
ガイドラインのバグ修正
共通ライブラリのバグ改修に伴う修正
記載内容の追加
- Spring Validatorを使用した相関項目チェック時に、Bean ValidationのGroup Validationの仕組みと連携する方法を追加。
追加内容の詳細は、guideline#320のIssueを参照されたい。
Bean Validation 1.1(Hibernate Validator 5.1)対応に伴う修正
@DecimalMin と@DecimalMax のinclusive 属性の説明を追加。
- Expression Languageに関する記載を追加。
- Bean Validation 1.1から非推奨になったAPIについて記載。
- Hibernate Validator 5.1.xの
ValidationMessages.properties に関するバグ(HV-881)に関する記載と回避方法を追加。
|
|
例外ハンドリング |
記載内容の追加
- 513バイトより小さいサイズのエラーをレスポンスするとInternet Explorerで簡易エラーページが表示される可能性がある旨の説明を追加。
追加内容の詳細は、guideline#189のIssueを参照されたい。
Spring Framework 4.1対応に伴う修正
- JPA(Hibernate実装)の悲観ロックエラーがSpring Frameworkの
PessimisticLockingFailureException に変換されない問題に関する記載を削除。
この問題は、SPR-10815(Spring Framework 4.0以降)で解決済みである。
|
|
セッション管理 |
Spring Security 3.2対応に伴う修正
- POSTリクエスト時にセッションタイムアウトではなくCSRFトークンエラーが発生する問題(SEC-2422)に関する記載を削除。
Spring Security 3.2の正式版ではセッションタイムアウトを検知できる仕組みが組み込まれており、問題が解消されている。
|
|
メッセージ管理 |
共通ライブラリの変更内容の反映
|
|
ページネーション |
共通ライブラリの変更内容の反映
Spring Data Common 1.9対応に伴う修正
- バージョンアップに伴い、API仕様が変更されているクラス(
Page インタフェースなど)に対する注意点を追加。
|
|
コードリスト |
共通ライブラリのバグ改修に伴う修正
共通ライブラリの変更内容の反映
|
|
Ajax |
Spring Security 3.2対応に伴う修正
- CSRF対策のサンプルコード(CSRF対策用の
<meta> タグの生成方法)を変更。
Jackson 2.4対応に伴う修正
- Jackson 2.4用のコンポーネントを使用するようにサンプルコード及び説明を変更。
|
|
RESTful Web Service |
記載内容の改善
Spring Framework 4.1対応に伴う修正
@RestController に関する説明を追加。
修正内容の詳細は、guideline#560のIssueを参照されたい。
- ビルダースタイルのAPIを使用して
ResponseEntity を生成するようにサンプルコードを変更。
Jackson 2.4対応に伴う修正
- Jackson 2.4用のコンポーネントを使用するようにサンプルコード及び説明を変更。
Spring Data Common 1.9対応に伴う修正
- バージョンアップに伴い、API仕様が変更されているクラス(
Page インタフェースなど)に対する注意点を追加。
|
|
ファイルアップロード |
ガイドラインのバグ修正
記載内容の追加
- 一部のアプリケーションサーバでServlet 3のファイルアップロード機能が文字化けする問題があるため、この事象の回避策としてApache Commons FileUploadを使用する方法を追加。
追加内容の詳細は、guideline#778のIssueを参照されたい。
|
|
システム時刻 |
共通ライブラリの変更内容の反映
|
|
Tilesによる画面レイアウト |
Tiles 3.0対応に伴う修正
- Tiles 3.0用のコンポーネントを使用するように設定例及び説明を変更。
Spring Framework 4.1対応に伴う修正
<mvc:view-resolvers> 、<mvc:tiles> 、<mvc:definitions> に関する説明を追加。
修正内容の詳細は、guideline#609のIssueを参照されたい。
|
|
日付操作(Joda Time) |
記載内容の追加
Joda Time 2.5対応に伴う修正
- バージョンアップに伴い
DateMidnight クラスが非推奨になったため、指定日の開始時刻(0:00:00.000)の取得方法を変更。
|
|
Spring Security概要 |
Spring Security 3.2対応に伴う修正
- Appendixに「セキュアなHTTPヘッダー付与の設定」を追加。
|
|
Spring Securityチュートリアル |
version 5.0.0対応に伴う更新
- インフラストラクチャ層としてMyBatis3を使用するように変更。
- Spring Framework 4.1対応の適用。
- Spring Security 3.2対応の適用。
- ドキュメント上の構成の見直し。
|
|
認証 |
ガイドラインのバグ修正
<form-login> 、<logout> 、<session-management> タグの説明不備や説明不足の修正。
修正内容の詳細は、guideline#754のIssueを参照されたい。
- AuthenticationFilterの拡張方法を示すサンプルコードの修正(セッション・フィクセーション攻撃対策やCSRF対策を有効にするための設定を追加)。
修正内容の詳細は、guideline#765のIssueを参照されたい。
Spring Security 3.2対応に伴う修正
- CSRF対策を有効にしている際のログアウト方法に関する注意点を追加。
- Controllerから
UserDetails (認証ユーザ情報クラス)にアクセスする方法として、@AuthenticationPrincipal の説明を追加。
<sec:session-management> のsession-fixation-protection 属性のパラメータとして、changeSessionId の説明を追加。
- セッションタイムアウトの検出方法と注意点を追加。
- 同一ユーザの同時セッション数制御(Concurrent Session Control)を有効にするための設定方法を変更(
<sec:concurrency-control> を使用するように変更)。
- 同一ユーザの同時セッション数制御関連のクラスが非推奨になり別のクラスが提供されている旨を追加。
|
|
CSRF対策 |
Spring Security 3.2対応に伴う修正
- version 1.0.xの共通ライブラリに同封していたSpring Security 3.2.0(正式リリース前の暫定バージョン)のCSRF対策用コンポーネントに関する記載を削除。
- CSRF対策を有効にするための設定方法をSpring Security 3.2の正式な作法(
<sec:csrf> を使用する方法)に変更。
- CSRF対策用のJSPタグライブラリ(
<sec:csrfInput> と<sec:csrfMetaTags> )に関する記載を追加。
- CSRF対策を有効にしている時のセッションタイムアウトの検出方法と注意点を追加。
Spring Framework 4.1対応に伴う修正
<form:form> を使用した際に、CSRFトークンがhiddenとして出力される条件に関する記載を変更。
|
|
チュートリアル(Todoアプリケーション REST編) |
記載内容の改善
version 5.0.0対応に伴う更新
- Spring Framework 4.1対応の適用。
- Spring Security 3.2対応の適用。
- Jackson 2.4対応の適用。
|
|
ブランクプロジェクトから新規プロジェクトの作成 |
記載内容の改善
- マルチプロジェクト構成のプロジェクト作成方法をサポート。
- シングルプロジェクト構成のプロジェクト作成方法を最新化。
|
|
共通ライブラリが提供するJSP Tag Library と EL Functions |
新規追加
- 共通ライブラリから提供しているJSPタグライブラリとEL関数の説明を追加。
|
|
ボイラープレートコードの排除(Lombok) |
新規追加
- Lombokを使用したボイラープレートコードの排除方法の説明を追加。
|
|
英語版 |
以下の英語版を追加
|
2014-08-27 |
- |
1.0.1 RELEASE版公開
更新内容の詳細は、1.0.1のIssue一覧を参照されたい。
|
|
全般 |
ガイドラインのバグ(タイプミスや記述ミスなど)を修正
更新内容の詳細は、1.0.1のIssue一覧(bug & clerical error)を参照されたい。
|
|
日本語版 |
以下の日本語版を追加
|
|
英語版 |
以下の英語版を追加
|
|
TERASOLUNA Server Framework for Java (5.x)のスタック |
バグ改修に伴い利用するOSSのバージョンを更新
- GroupId「
org.springframework 」のバージョンを3.2.4.RELEASEから3.2.10.RELEASEに更新
- GroupId「
org.springframework.data 」ArtifactId「spring-data-commons 」のバージョンを1.6.1.RELEASEから1.6.4.RELEASEに更新
- GroupId「
org.springframework.data 」ArtifactId「spring-data-jpa 」のバージョンを1.4.1.RELEASEから1.4.3.RELEASEに更新
- GroupId「
org.aspectj 」のバージョンを1.7.3から1.7.4に更新
- GroupId「
javax.transaction 」ArtifactId「jta 」を削除
|
|
アプリケーション層の実装 |
CVE-2014-1904(<form:form> タグのaction属性のXSS脆弱性)に関する注意喚起を追加 |
|
日本語版
メッセージ管理
|
バグ改修に関する記載を追加
|
|
日本語版
ページネーション
|
バグ改修に関する記載を更新
|
|
日本語版
Ajax
|
XXE Injection対策に関する記載を更新 |
|
日本語版
ファイルアップロード
|
CVE-2014-0050(File Uploadの脆弱性)に関する注意喚起を追加
ガイドラインのバグを修正
MultipartFilter を設定した場合、SystemExceptionResolver を使用してMultipartException をハンドリングする事が出来ないため、サーブレットコンテナのerror-page機能を使用してハンドリングする方法を追加。修正内容の詳細は、guideline#59のIssueを参照されたい。
|
|
日本語版 |
以下のプロジェクト作成方法をmvn archetype:generate から行うように変更
|
|
日本語版 |
以下のMavenアーキタイプ作成方法を微修正
|
2013-12-17 |
日本語版 |
1.0.0 Public Review版公開 |