【问题标题】:Preauthentication with LTPA token使用 LTPA 令牌进行预认证
【发布时间】:2011-12-12 17:01:01
【问题描述】:

在通过 Websphere LTPA SSO 令牌给定预身份验证的情况下,初始化 Spring 上下文的最佳方法是什么?现在我有一个自定义过滤器,它为 Spring Security 上下文提供 PreAuthorizedAuthenticationToken。是否有现有的过滤器可以自动为我执行此操作?当我尝试使用 PreAuth 类时,我总是遇到 GrantedAuthorities 的问题。

干杯

【问题讨论】:

    标签: spring spring-security


    【解决方案1】:

    最好的选择是通过扩展 AbstractPreAuthenticatedProcessingFilter 来自定义预认证过滤器。

    您可以从请求中获取令牌并在 getPreAuthenticatedCredentials() 方法中返回它。

    您可以定义自己的AuthenticationUserDetailsS​​ervice并将其传递给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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-07
      • 1970-01-01
      • 2022-09-11
      • 2011-02-22
      • 2017-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多