gpt4 book ai didi

cookies - 使用带有 cookie 的 Spring Security 3

转载 作者:行者123 更新时间:2023-12-04 20:21:18 24 4
gpt4 key购买 nike

我有一个用 Java 构建的应用程序,需要授权。但是,身份验证部分由不同/单独的应用程序(不是在 Java 中)处理。用户登录到身份验证应用程序,该应用程序设置一个 cookie。如果用户被授权访问 Java 应用程序,他们将被授权应用程序重定向到 Java 应用程序的 URL。

我想在允许访问 Java 应用程序之前使用 Spring Security 来验证/检查 cookie。做到这一点的最佳方法是什么? Java 应用程序应执行以下操作:

  • 检查cookie是否存在
  • 如果 cookie 存在,则使用 db 验证 cookie 值。如果没有,将它们发送到其他应用程序登录
  • 如果 cookie 有效,则显示应用程序。如果没有,请将用户发送到“身份验证”应用程序。

  • 有任何想法吗?

    最佳答案

    您可以通过自己制作 UsernamePasswordAuthenticationFilter 来做到这一点。 .在过滤器中,您可以检查您需要的 cookie。您应该只需要覆盖 attemptAuthentication()方法。您有请求和响应对象,因此检查 cookie 应该很容易。

    您还需要实现 UserDetailsService使用数据库检查用户凭据。

  • This将帮助您自定义过滤器。
  • This是怎么写的UserDetailsService .

  • 您的命名空间配置应如下所示:
    <http use-expressions="true" auto-config="false" entry-point-ref="yourEntryPointInApp1">

    <custom-filter position="FORM_LOGIN_FILTER" ref="myFilter" />
    </http>
    <authentication-manager>

    <authentication-provider user-service-ref="myDetailsService" />
    </authentication-manager>

    另外注意不要使用 <formLogin>如果您决定实现过滤器。

    关于cookies - 使用带有 cookie 的 Spring Security 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6232683/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com