最新の安定バージョンについては、Spring Security 6.4.2 を使用してください! |
プロジェクトモジュールと依存関係
Maven を使用しない場合でも、pom.xml
ファイルを参照して、サードパーティの依存関係とバージョンを確認することをお勧めします。もう 1 つの良いアイデアは、サンプルアプリケーションに含まれているライブラリを調べることです。
このセクションでは、Spring Security のモジュールのリファレンスと、実行中のアプリケーションで機能するために必要な追加の依存関係について説明します。Spring Security 自体のビルドまたはテスト時にのみ使用される依存関係は含まれていません。また、外部の依存関係に必要な推移的な依存関係も含まれていません。
必要な Spring のバージョンはプロジェクト Web サイトにリストされているため、以下の Spring 依存関係の特定のバージョンは省略されています。以下に「オプション」としてリストされている依存関係の一部は、Spring アプリケーションのその他の非セキュリティ機能に必要な場合があることに注意してください。また、「オプション」としてリストされている依存関係は、ほとんどのアプリケーションで使用されている場合、実際にはプロジェクトの Maven POM ファイルでそのようにマークされない場合があります。指定された機能を使用しない限り、それらは必要ないという意味でのみ「オプション」です。
モジュールが別の Spring Security モジュールに依存している場合、依存するモジュールのオプションではない依存関係も必須であると想定され、個別にリストされていません。
コア — spring-security-core.jar
このモジュールには、コア認証およびアクセス制御クラスとインターフェース、リモート処理サポート、基本的なプロビジョニング API が含まれています。Spring Security を使用するアプリケーションにはこれが必要です。スタンドアロンアプリケーション、リモートクライアント、メソッド (サービス層) セキュリティ、および JDBC ユーザープロビジョニングをサポートします。これには、次のトップレベルのパッケージが含まれています。
org.springframework.security.core
org.springframework.security.access
org.springframework.security.authentication
org.springframework.security.provisioning
依存 | バージョン | 説明 |
---|---|---|
ehcache | 1.6.2 | Ehcache ベースのユーザーキャッシュ実装を使用する場合は必須です(オプション)。 |
spring-aop | メソッドセキュリティは Spring AOP に基づいています | |
spring-beans | Spring 構成に必要 | |
spring-expression | 式ベースのメソッドセキュリティに必要 (オプション) | |
spring-jdbc | データベースを使用してユーザーデータを保存する場合は必須です(オプション)。 | |
spring-tx | データベースを使用してユーザーデータを保存する場合は必須です(オプション)。 | |
aspectjrt | 1.6.10 | AspectJ サポートを使用する場合は必須です(オプション)。 |
jsr250-api | 1.0 | JSR-250 メソッドセキュリティアノテーションを使用している場合は必須です(オプション)。 |
リモーティング — spring-security-remoting.jar
このモジュールは、Spring Remoting との統合を提供します。Spring Remoting を使用するリモートクライアントを作成していない限り、これは必要ありません。メインパッケージは org.springframework.security.remoting
です。
依存 | バージョン | 説明 |
---|---|---|
spring-security-core | ||
spring-web | HTTP リモーティングサポートを使用するクライアントに必要です。 |
Web — spring-security-web.jar
このモジュールには、フィルターと関連する Web セキュリティインフラストラクチャコードが含まれています。サーブレット API に依存するものがすべて含まれています。Spring Security Web 認証サービスと URL ベースのアクセス制御が必要な場合に必要です。メインパッケージは org.springframework.security.web
です。
依存 | バージョン | 説明 |
---|---|---|
spring-security-core | ||
spring-web | Spring Web サポートクラスは広く使用されています。 | |
spring-jdbc | JDBC ベースの永続的な remember-me トークンリポジトリに必要です(オプション)。 | |
spring-tx | remember-me 永久トークンリポジトリの実装に必要です(オプション)。 |
構成 — spring-security-config.jar
このモジュールには、セキュリティ名前空間解析コードと Java 構成コードが含まれています。Spring Security XML 名前空間を構成に使用する場合、または Spring Security の Java 構成サポートを使用する場合に必要です。メインパッケージは org.springframework.security.config
です。どのクラスも、アプリケーションで直接使用するためのものではありません。
依存 | バージョン | 説明 |
---|---|---|
spring-security-core | ||
spring-security-web | Web 関連のネームスペース構成を使用している場合は必須です(オプション)。 | |
spring-security-ldap | LDAP 名前空間オプションを使用している場合は必須です(オプション)。 | |
spring-security-openid | OpenID 認証を使用している場合は必須です(オプション)。 | |
aspectjweaver | 1.6.10 | protect-pointcut 名前空間構文を使用する場合は必須です(オプション)。 |
LDAP — spring-security-ldap.jar
このモジュールは、LDAP 認証およびプロビジョニングコードを提供します。LDAP 認証を使用するか、LDAP ユーザーエントリを管理する必要がある場合に必要です。最上位パッケージは org.springframework.security.ldap
です。
依存 | バージョン | 説明 |
---|---|---|
spring-security-core | ||
spring-ldap-core | 1.3.0 | LDAP サポートは Spring LDAP に基づいています。 |
spring-tx | データ例外クラスが必要です。 | |
apache-ds [ 1 ] | 1.5.5 | 組み込み LDAP サーバーを使用している場合は必須です(オプション)。 |
shared-ldap | 0.9.15 | 組み込み LDAP サーバーを使用している場合は必須です(オプション)。 |
ldapsdk | 4.1 | Mozilla LdapSDK。たとえば、OpenLDAP でパスワードポリシー機能を使用している場合、LDAP パスワードポリシーコントロールのデコードに使用されます。 |
OAuth 2.0 コア — spring-security-oauth2-core.jar
spring-security-oauth2-core.jar
には、OAuth 2.0 認可フレームワークおよび OpenID Connect Core 1.0 のサポートを提供するコアクラスとインターフェースが含まれています。クライアント、リソースサーバー、認証サーバーなど、OAuth 2.0 または OpenID Connect Core 1.0 を使用するアプリケーションに必要です。最上位パッケージは org.springframework.security.oauth2.core
です。
OAuth 2.0 クライアント — spring-security-oauth2-client.jar
spring-security-oauth2-client.jar
には、OAuth 2.0 認可フレームワークおよび OpenID Connect Core 1.0 に対する Spring Security のクライアントサポートが含まれています。OAuth 2.0 ログインまたは OAuth クライアントサポートを使用するアプリケーションに必要です。最上位パッケージは org.springframework.security.oauth2.client
です。
OAuth 2.0 JOSE — spring-security-oauth2-jose.jar
spring-security-oauth2-jose.jar
には、Spring Security による JOSE(Javascript Object Signing and Encryption)フレームワークのサポートが含まれています。JOSE フレームワークは、当事者間でクレームを安全に転送する方法を提供することを目的としています。仕様のコレクションから構築されています。
JSON Web トークン (JWT)
JSON Web 署名 (JWS)
JSON Web 暗号化 (JWE)
JSON Web キー (JWK)
次のトップレベルパッケージが含まれています。
org.springframework.security.oauth2.jwt
org.springframework.security.oauth2.jose
OAuth 2.0 リソースサーバー — spring-security-oauth2-resource-server.jar
spring-security-oauth2-resource-server.jar
には、OAuth 2.0 リソースサーバーに対する Spring Security のサポートが含まれています。OAuth 2.0 ベアラートークンを介して API を保護するために使用されます。最上位パッケージは org.springframework.security.oauth2.server.resource
です。
ACL — spring-security-acl.jar
このモジュールには、特殊なドメインオブジェクト ACL 実装が含まれています。アプリケーション内の特定のドメインオブジェクトインスタンスにセキュリティを適用するために使用されます。最上位パッケージは org.springframework.security.acls
です。
依存 | バージョン | 説明 |
---|---|---|
spring-security-core | ||
ehcache | 1.6.2 | Ehcache ベースの ACL キャッシュ実装を使用する場合は必須です(独自の実装を使用する場合はオプション)。 |
spring-jdbc | デフォルトの JDBC ベースの AclService を使用している場合は必須です(独自に実装する場合はオプション)。 | |
spring-tx | デフォルトの JDBC ベースの AclService を使用している場合は必須です(独自に実装する場合はオプション)。 |
CAS — spring-security-cas.jar
このモジュールには、Spring Security の CAS クライアント統合が含まれています。CAS シングルサインオンサーバーで Spring Security Web 認証を使用する場合は、これを使用する必要があります。最上位パッケージは org.springframework.security.cas
です。
依存 | バージョン | 説明 |
---|---|---|
spring-security-core | ||
spring-security-web | ||
cas-client-core | 3.1.12 | JA-SIG CAS クライアント。これが Spring Security 統合の基礎です。 |
ehcache | 1.6.2 | Ehcache ベースのチケットキャッシュを使用している場合は必須です(オプション)。 |
OpenID — spring-security-openid.jar
OpenID 1.0 および 2.0 プロトコルは非推奨になり、ユーザーは spring-security-oauth2 でサポートされている OpenIDConnect に移行することをお勧めします。 |
このモジュールには、OpenID Web 認証サポートが含まれています。外部 OpenID サーバーに対してユーザーを認証するために使用されます。最上位パッケージは org.springframework.security.openid
です。OpenID4Java が必要です。
依存 | バージョン | 説明 |
---|---|---|
spring-security-core | ||
spring-security-web | ||
openid4java-nodeps | 0.9.6 | Spring Security の OpenID 統合は OpenID4Java を使用します。 |
httpclient | 4.1.1 | openid4java-nodeps は HttpClient 4 に依存しています。 |
guice | 2.0 | openid4java-nodeps は Guice 2 に依存しています。 |
Taglibs — spring-security-taglibs.jar
Spring Security の JSP タグの実装を提供します。
依存 | バージョン | 説明 |
---|---|---|
spring-security-core | ||
spring-security-web | ||
spring-security-acl | ACL で | |
spring-expression | タグアクセス制約で SPEL 式を使用している場合は必須です。 |
apacheds-core
、apacheds-core-entry
、apacheds-protocol-shared
、apacheds-protocol-ldap
、apacheds-server-jndi
が必要です。