2011-10-21 8 views
6

Websphere LTPA SSOトークンによる事前認証でSpringコンテキストを初期化する最良の方法は何ですか?今私はSpringセキュリティコンテキストにPreAuthorizedAuthenticationTokenを提供するカスタムフィルタを持っています。自動的にこれを行う既存のフィルタはありますか?私はPreAuthクラスを使用しようとしたとき、GrantedAuthoritiesの問題に遭遇しました。LTPAトークンによる事前認証

乾杯

答えて

1

ベストオプションAbstractPreAuthenticatedProcessingFilterを拡張してカスタム事前認証フィルタを持つことです。

要求からトークンを取得し、getPreAuthenticatedCredentials()メソッドでそれを戻すことができます。あなたがあなた自身のAuthenticationUserDetailsS​​erviceを定義し、PreAuthenticatedAuthenticationProviderに渡すことができ

、ここであなたが付与された権限を取得しUserDetailsでそれらを返すことができますあなたは、デフォルトの接頭辞ROLEで始まらない、認証を付与している場合は

<bean id="preAuthAuthenticationProvider" 
      class="org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationProvider"> 
     <property name="preAuthenticatedUserDetailsService"> 
      <bean id="myUserDetailsService" 
        class="MyUserDetailsService"> 
      </bean> 
     </property> 
    </bean> 

オブジェクトカスタムプレフィックスを定義できます

<bean id="myPermissionRoleVoter" class="org.springframework.security.access.vote.RoleVoter"> 
     <property name="rolePrefix" value="myprefix"/> 
    </bean> 
関連する問題