使用 LTPA 令牌进行预身份验证

发布于 2024-12-11 08:55:36 字数 212 浏览 0 评论 0原文

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

干杯

What is the best way to initialize a Spring context given pre-authentication through Websphere LTPA SSO token? Right now I have a custom filter that provides a PreAuthorizedAuthenticationToken to the Spring Security context. Is there an existing filter that would do this for me automatically? I have always run into trouble with GrantedAuthorities when I've tried to use the PreAuth classes.

Cheers

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

债姬 2024-12-18 08:55:36

最好的选择是通过扩展 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>

Best option is to have a custom preauthentication filter by extending AbstractPreAuthenticatedProcessingFilter.

You can fetch the token from request and return it in getPreAuthenticatedCredentials() method.

You can define your own AuthenticationUserDetailsService and pass it to PreAuthenticatedAuthenticationProvider, here you can fetch the granted authorities and return them in UserDetails Object

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

If you have granted auth, not starting with default prefix ROLE, you can define your custom prefix

<bean id="myPermissionRoleVoter" class="org.springframework.security.access.vote.RoleVoter">
        <property name="rolePrefix" value="myprefix"/>
    </bean>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文