6
通過Websphere LTPA SSO令牌進行預認證時,初始化Spring上下文的最佳方式是什麼?現在我有一個自定義過濾器,它爲Spring Security上下文提供了一個PreAuthorizedAuthenticationToken。是否有一個現有的過濾器會自動執行此操作?當我嘗試使用PreAuth類時,我一直遇到GrantedAuthorities的麻煩。使用LTPA令牌進行預認證
乾杯
通過Websphere LTPA SSO令牌進行預認證時,初始化Spring上下文的最佳方式是什麼?現在我有一個自定義過濾器,它爲Spring Security上下文提供了一個PreAuthorizedAuthenticationToken。是否有一個現有的過濾器會自動執行此操作?當我嘗試使用PreAuth類時,我一直遇到GrantedAuthorities的麻煩。使用LTPA令牌進行預認證
乾杯
最好的選擇是通過擴展AbstractPreAuthenticatedProcessingFilter有一個自定義的預認證的過濾器。
您可以從請求中獲取令牌並在getPreAuthenticatedCredentials()方法中將其返回。
您可以定義自己的AuthenticationUserDetailsService來做,並把它傳遞給PreAuthenticatedAuthenticationProvider,在這裏你可以獲取授予的權限,並返回他們在UserDetails對象
<bean id="preAuthAuthenticationProvider"
class="org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationProvider">
<property name="preAuthenticatedUserDetailsService">
<bean id="myUserDetailsService"
class="MyUserDetailsService">
</bean>
</property>
</bean>
如果您已授予身份驗證,不能與默認前綴ROLE開始,你可以定義您的自定義前綴
<bean id="myPermissionRoleVoter" class="org.springframework.security.access.vote.RoleVoter">
<property name="rolePrefix" value="myprefix"/>
</bean>