---
schema_version: "1"
id: 03aeb5be283cc24a7ede9703b5d7deb1d44bbf6e2c4eff13ba8d2a75722a3037
title: Spring セキュリティの LDAP プロバイダーの設定
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/mule-runtime/4.5/setting-up-ldap-provider-for-spring-security.md
canonical_url: https://docs.mulesoft.com/jp/mule-runtime/4.5/setting-up-ldap-provider-for-spring-security
source_site: docs.mulesoft.com
content_type: documentation
content_hash: a4fd1c094635a9acb0e65c3354cf7dd30b63dc5d6f9ca6030857af3487185b61
description: MuleSoft Documentation Site
release: "4.5"
latest: false
---
# Spring セキュリティの LDAP プロバイダーの設定

Mule 4 では、Spring セキュリティ LDAP プロバイダーを使用して、コンポーネントの認証を実行するか、または Spring Module 経由で Mule セキュリティプロバイダーとして使用できます。LDAP プロバイダーを設定する前に Spring JAR ファイルを入手して Spring Bean を宣言してください。

## [](#jar-ファイルの入手)JAR ファイルの入手

Mule ソフトウェアディストリビューションの ​`<distribution>/lib/opt`​ ディレクトリに、必要な Spring JAR ファイルが入っています。

- `spring-ldap-core-2.3.2.RELEASE.jar`
- `spring-security-config-4.2.6.RELEASE.jar`
- `spring-security-core-4.2.6.RELEASE.jar`
- `spring-security-ldap-4.2.6.RELEASE.jar`
- `spring-security-web-4.2.6.RELEASE.jar`

## [](#spring-bean-の宣言)Spring Bean の宣言

[DefaultSpringSecurityContextSource](https://docs.spring.io/spring-security/site/docs/4.0.x/apidocs/org/springframework/security/ldap/DefaultSpringSecurityContextSource.html)​ クラスが LDAP コンテキストを取得するためのアクセスポイントとなります。  
`DefaultSpringSecurityContextSource`​ の Spring Bean は、resources フォルダーの個別の ​`beans.xml`​ ファイルで宣言する必要があります。

たとえば、ユーザーを検索して認証するために、Spring セキュリティ認証プロバイダーで使用する LDAP コンテキストソースをセットアップする必要があります。また、次のコードサンプルに示すように、​`ldap-authentication-provider`​ クラスが埋め込まれた ​`authentication-manager`​ インターフェースを定義する必要もあります。

```xml
	<beans xmlns="http://www.springframework.org/schema/beans"
	  xmlns:context="http://www.springframework.org/schema/context"
	  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	  xmlns:jdbc="http://www.springframework.org/schema/jdbc"
	  xmlns:ss="http://www.springframework.org/schema/security"
	  xsi:schemaLocation="http://www.springframework.org/schema/beans
	  ...
	  http://www.springframework.org/schema/security/spring-security-4.2.xsd">

		<bean id="ldapContextSource" class="org.springframework.security.ldap.DefaultSpringSecurityContextSource">
	        <constructor-arg value="ldap://localhost:389"/>
	        <property name="userDn" value="cn=admin,dc=example,dc=org"/>
	        <property name="password" value="admin"/>
	    </bean>

	    <ss:authentication-manager alias="ldapAuthManager">
			<ss:ldap-authentication-provider
				server-ref="ldapContextSource"
				user-search-base="DC=example,DC=org"
				user-search-filter="(uid={0})"
				group-search-base="DC=example,DC=org"
				group-search-filter="({0})"
				group-role-attribute="ou"
			/>
	    </ss:authentication-manager>

	</beans>
```

## [](#mule-セキュリティプロバイダーの設定)Mule セキュリティプロバイダーの設定

`SpringSecurityProviderAdapter`​ は、​`LdapAuthenticationProvider`​ のような ​`AuthenticationProvider`​ に認証プロセスを委任します。Mule セキュリティプロバイダーを設定するには、1 つ以上のセキュリティプロバイダーを必要とする Mule のコネクタレベルのセキュリティや他のセキュリティ機能の設定方法を示した次の例を参考にしてください。

```xml
	<spring:config name="Spring_Config" files="beans.xml" />

	<spring:security-manager>
 		<spring:delegate-security-provider name="ldap-provider" delegate-ref="ldapAuthManager" />
	</spring:security-manager>
```

次の設定例では、基本 HTTP セキュリティ検索条件を参照しています。

```xml
	<http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config">
		<http:listener-connection host="0.0.0.0" port="8081" />
	</http:listener-config>

	<spring:config name="Spring_Config"  files="beans.xml" />

	<spring:security-manager>
		<spring:delegate-security-provider name="ldap-provider" delegate-ref="ldapAuthManager" />
	</spring:security-manager>

	<flow name="secureFlow">
		<http:listener doc:name="Listener" config-ref="HTTP_Listener_config" path="/test" />

		<http:basic-security-filter doc:name="Basic security filter" securityProviders="#[['ldap-provider']]" realm="mule-realm"/>

		<ee:transform doc:name="Transform Message">
			<ee:message>
				<ee:set-payload><![CDATA[%dw 2.0
					output application/json
					---
					{
						"status": "ok"
					}]]></ee:set-payload>
			</ee:message>
		</ee:transform>
	</flow>
```

## [](#コンポーネント認証の設定)コンポーネント認証の設定

コンポーネント認証を設定するには、​`authorization-filter`​ 項目を次のように宣言します。

```xml
	<spring:authorization-filter requiredAuthorities="ROLE_TESTERS" />
```

## [](#関連情報)関連情報

- [Spring Module](https://docs.mulesoft.com/spring-module/latest/)
- [Spring セキュリティを使用したコンポーネントの認証](https://docs.mulesoft.com/jp/mule-runtime/4.5/component-authorization-using-spring-security)
- [LDAP Spring セキュリティ](https://docs.spring.io/spring-security/site/docs/3.1.x/reference/ldap.html)
- [Spring セキュリティリファレンス](https://docs.spring.io/spring-security/site/docs/4.0.1.RELEASE/reference/html/)