Loading article…
| 開発者 | 4 |
|---|---|
| 安定版リリース | 6.3.1 / 2024年6月18日[1] |
| 書かれた | ジャワ |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | Web アプリケーション フレームワークのセキュリティ |
| ライセンス | Apache ライセンス2.0 |
| Webサイト | プロジェクト.spring.io/spring-security/ |
Spring Securityは、エンタープライズ アプリケーションに認証、認可、およびその他のセキュリティ機能を提供するJava / Java EEフレームワークです。このプロジェクトは、2003 年後半に Ben Alex によって「Acegi Security」( Ah-see-gee / ɑː s iː dʒ iː /と発音し、名前の競合を避けるため、英語のアルファベットの 1、3、5、7、9 番目の文字が使用されています[2] ) として開始され、2004 年 3 月にApache ライセンスの下で公開されました。その後、Acegi はSpringポートフォリオに組み込まれ、Spring の公式サブプロジェクトである Spring Security になりました。新しい名前での最初の公開リリースは、2008 年 4 月の Spring Security 2.0.0 で、 SpringSourceから商用サポートとトレーニングが提供されました。
認証フロー
図 1 は、Spring Security システムを使用した認証要求の基本的なフローを示しています。さまざまなフィルターと、最初のブラウザ要求から認証の成功または HTTP 403 エラーまでの相互作用を示しています。
主な認証機能
- 認証情報の集中化のためのLDAP(バインドベースとパスワード比較戦略の両方を使用)。[3] :358–362、§7-3
- 一般的なCentral Authentication Serviceを使用したシングル サインオン機能。
- Java 認証および承認サービス(JAAS) LoginModule は、Java 内で使用される標準ベースの認証方法です。この機能は、JAAS Loginmodule への委任にすぎないことに注意してください。
- RFC 1945 で定義されている基本アクセス認証。
- ダイジェストアクセス認証[3] :356–358、 RFC 2617およびRFC 2069で定義されている§7-3。
- Secure Sockets Layer標準を介したX.509クライアント証明書の提示。
- 認証用のCA, Inc SiteMinder (一般的な商用アクセス管理製品)。
- HTTPまたはHTTPS接続を介してプリンシパル ID を切り替えるためのSu (Unix)のようなサポート。
- Run-as 置換。これにより、操作で異なるセキュリティ ID を想定できるようになります。
- 匿名認証。つまり、認証されていないプリンシパルにもセキュリティ ID が割り当てられます。
- Apache Tomcat、Resin、JBoss、Jetty (Web サーバー)用のコンテナー アダプター (カスタム レルム) のサポート。
- ブラウザ統合を有効にするWindows NTLM (実験的)。
- サーブレット コンテナ仕様に似た Web フォーム認証。
- HTTP クッキーによる「Remember-me」サポート。
- 同時セッションのサポート。プリンシパルによって許可される同時ログインの数を制限します。
- カスタマイズとカスタム認証実装のプラグインを完全にサポートします。
主な認証機能
- AspectJメソッド呼び出しの承認。
- Apache Antパスまたは正規表現の選択を使用したWeb 要求URLのHTTP認証。
インスタンスベースのセキュリティ機能
- ドメイン オブジェクトに適用可能なアクセス制御リストを指定するために使用されます。
- Spring Securityは、データベースにACLを保存、取得、変更するためのリポジトリを提供します。[3] :376–381、§7-7
- メソッド呼び出しの前後にポリシーを適用するための承認機能が提供されます。
その他の機能
- ソフトウェアのローカリゼーションにより、ユーザー インターフェイスメッセージを任意の言語で表示できます。
- 特定のルールを満たすとHTTPとHTTPSを自動的に切り替えるチャネル セキュリティ。
- フレームワークのデータベースに関連するすべての領域をキャッシュします。
- イベント駆動型プログラミングを容易にするためのメッセージの公開。
- JUnit経由で統合テストを実行するためのサポート。
- Spring Security 自体には包括的なJUnit分離テストがあります。
- いくつかのサンプル アプリケーション、詳細なJavaDocs、およびリファレンス ガイド。
- Web フレームワークの独立性。
リリース
- 2.0.0 (2008 年 4 月)
- 3.0.0 (2009 年 12 月)
- 3.1.0 (2011 年 12 月 7 日)
- 3.1.2 (2012 年 8 月 10 日)
- 3.2.0 (2013 年 12 月 16 日)
- 4.0.0 (2015 年 3 月 26 日)
- 4.1.3 (2016 年 8 月 24 日)
- 4.2.0 (2016 年 11 月 10 日)
- 3.2.10、4.1.4、4.2.1 (2016 年 12 月 22 日)
- 4.2.2 (2017 年 3 月 2 日)
- 4.2.3 (2017 年 6 月 8 日)
- 5.0.0 (2017年11月28日)
- 5.0.8、4.2.8(2018年9月11日)[4]
- 5.1.0 GA (2018 年 9 月 27 日) [5]
- 5.1.1、5.0.9、4.2.9(2018年10月16日)[6]
- 5.1.2、5.0.10、4.2.10(2018年11月29日)[7]
- 5.1.3、5.0.11、4.2.11(2019年1月11日)[8]
- 5.1.4(2019年2月14日)[9]
- 5.1.5、5.0.12、4.2.12(2019年4月3日)[10]
引用
- ^ 「Spring Security 5.8.13、6.2.5、6.3.1 が利用可能になりました」。spring.io 。2024年8 月 18 日閲覧。
- ^ 「なぜ Acegi という名前なのか?」spring.io。
- ^ abc Deinum et al. 2014.
- ^ 「Spring Security 5.0.8 および 4.2.8 がリリースされました」。spring.io。2019年6 月 9 日閲覧。
- ^ 「Spring Security 5.1 が GA に」spring.io . 2019 年 6 月 9 日閲覧。
- ^ 「Spring Security 5.1.1、5.0.9、4.2.9 がリリースされました」。spring.io 。2019年 6 月 9 日閲覧。
- ^ 「Spring Security 5.1.2、5.0.10、4.2.10 リリース」。spring.io 。2019年6月9日閲覧。
- ^ 「Spring Security 5.1.3、5.0.11、4.2.11 リリース」。spring.io 。2019年6月9日閲覧。
- ^ 「Spring Security 5.1.4 リリース」。spring.io 。 2019年6月9日閲覧。
- ^ 「Spring Security 5.1.5、5.0.12、4.2.12 リリース」。spring.io 。2019年 6 月 9 日閲覧。
参考文献
- デイナム、マーテン、ルビオ、ダニエル、ロング、ジョシュ、マック、ゲイリー(2014 年 9 月 1 日)。『春のレシピ:問題解決アプローチ』(第 2 版)。Apress。p . 1104。ISBN 978-1-4302-2499-0。
- 「なぜ Acegi という名前なのか?」spring.io。
外部リンク
- 公式サイト
