gpt4 book ai didi

java - AuthenticationProvider 和 AuthenticationEntryPoint 之间的区别

转载 作者:行者123 更新时间:2023-12-02 09:49:03 24 4
gpt4 key购买 nike

对不起,大家,也许是一个愚蠢的问题。

但是我需要在我的网络应用程序中实现一些额外的身份验证和授权逻辑,并且我不清楚必须在哪里使用 AuthenticationProviderAuthenticationEntryPoint

在寻找一些示例时,我有时发现 security:http 部分中省略了 AuthenticationEntryPoint

但是在某些情况下,AuthenticationProvider 也会被省略(框架提供默认实例?),并且只需要 UserDetailsS​​ervice 实现。

请问您能澄清一些基本概念吗?

最佳答案

简短回答:

  1. 实现AuthenticationProvider为了将您的自定义身份验证方案集成到 Spring Security 中。
  2. 实现AccessDecisionVoter为了将您的自定义授权方案集成到 Spring Security 中。您可能还需要实现自定义 AccessDecisionManager在某些特定情况下,尽管捆绑的通常就足够了。

请注意,与 AuthenticationEntryPoint 相比,这些都不是特定于网络的。 ,这是 Spring Security Web 的一部分,而不是 Spring Security Core 的一部分。 AuthenticationEntryPoint 的主要功能是允许框架从应用程序服务器向 Web 客户端发送某种“要访问此资源,您必须首先进行身份验证”的通知。大多数标准通知已在 Spring Security Web 中实现。例如:

如您所见,除非您所需的行为过于具体,否则您不需要提供自己的 AuthenticationEntryPoint 实现。

关于java - AuthenticationProvider 和 AuthenticationEntryPoint 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27618195/

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