spring 2.0 セキュリティを使用して Request-Header Authentication を構成しようとしていますが、まったくの初心者なので、ご容赦ください。ドキュメントから、siteminder を使用した構成ファイルの例を示します。
私のシナリオでは、それぞれ CC_USER と CC_USER_GROUP のキーを使用して、リクエスト ヘッダーにユーザー名とユーザー グループがあります。そこで、ファイルを次のように調整しました(下記参照)。
外部システムでは、ユーザーはすでにある種のシングル サインオンを使用して認証されていることを知っています。制御がアプリに到達したら、CC_USER と CC_USER_GROUP の要求ヘッダーを確認するだけで済みます。
質問 1: 以下の例では、「userDetailsService」を使用しています。これは私が実装する必要があるものですか?ここで、CC_USER と CC_USER_GROUP のリクエスト ヘッダーを確認しますか?
質問 2: リクエスト ヘッダー認証を使用するダウンロード可能な完全な例はありますか? 私はたくさんのグーグルをしましたが、実際には多くの助けが見つかりませんでした.
質問 3: ドキュメントで行っているように、ダミーのユーザーをテスト用にハードコーディングしたいと思います。以下をリクエストヘッダー構成に組み込むにはどうすればよいですか?
<authentication-provider>
<user-service>
<user name="jimi" password="jimispassword" authorities="ROLE_USER, ROLE_ADMIN" />
<user name="bob" password="bobspassword" authorities="ROLE_USER" />
</user-service>
</authentication-provider>
変更したサンプル構成ファイル (ドキュメントの siteminder ファイルに基づく):
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:security="http://www.springframework.org/schema/security"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-2.0.4.xsd">
<bean id="ssoFilter"
class="org.springframework.security.ui.preauth.header.RequestHeaderPreAuthenticatedProcessingFilter">
<security:custom-filter position="PRE_AUTH_FILTER" />
<property name="principalRequestHeader" value="CC_USER" />
<property name="authenticationManager" ref="authenticationManager" />
</bean>
<bean id="preauthAuthProvider"
class="org.springframework.security.providers.preauth.PreAuthenticatedAuthenticationProvider">
<security:custom-authentication-provider />
<property name="preAuthenticatedUserDetailsService">
<bean id="userDetailsServiceWrapper"
class="org.springframework.security.userdetails.UserDetailsByNameServiceWrapper">
<property name="userDetailsService" ref="userDetailsService" />
</bean>
</property>
</bean>
<security:authentication-manager
alias="authenticationManager" />
</beans>