gpt4 book ai didi

authentication - REST 服务的基于 Spring Security 的身份验证

转载 作者:行者123 更新时间:2023-12-04 08:26:24 25 4
gpt4 key购买 nike

我正在使用 Spring MVC 和 Spring Security(均为 3.0.5)实现 REST 服务。我使用的不是手动定义 Spring bean 的安全命名空间。
我在登录过程中遇到了一些困难。我想要实现的是:

对/login URL 的 POST 将开始身份验证过程。

应该没有实际的表单,所以我没有使用 form-login... 元素。如果没有这个元素,UsernamePasswordAuthenticationFilter 就不会出现在安全链上,所以我想我会通过自定义过滤器...元素添加它,然后从那里继续。

这就是它的要点,而不是问题:

  • 这是实现身份验证的好方法吗?
  • 我究竟应该如何添加此过滤器以及在过滤器链中的哪个位置?
  • 添加这个过滤器就足够了还是我还需要其他东西?

  • 任何反馈表示赞赏。
    谢谢。

    最佳答案

    一般来说,如果你想自定义你的身份验证,你应该使用 bean 配置。我发现基于命名空间的配置仅适用于演示应用程序。以下是我对您问题的回答:

    1)正如我上面所说,你应该使用bean。查看这篇文章了解更多信息:
    http://blog.springsource.com/2010/03/06/behind-the-spring-security-namespace/
    但是您所追求的也将起作用,符合您迄今为止提到的要求。
    2)应该这样添加:
    <http>

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

    </http>

    <beans:bean id="myFilter" class="org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter"/>

    3) 请注意,此过滤器还将执行默认重定向到原始请求。因此,如果您不需要任何重定向并且只应将简单的 HTTP 200 返回给客户端,则您应该实现自己的 AuthenticationProcessingFilter。

    我希望它有帮助。

    关于authentication - REST 服务的基于 Spring Security 的身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5855752/

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