WebAuthenticationDetailsS​​ource 有何作用?

Сам*_*ный 4 java spring spring-security

我正在尝试找出别人的 spring 安全代码。我想找出这行代码的作用,以及一般来说,这个特定的类的作用。文档中对其描述非常简短且难以理解。

authentication.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));
Run Code Online (Sandbox Code Playgroud)

Art*_*ich 7

正如您在源代码中看到的,类本身非常简单。

HttpServletRequest它具有将类的实例转换为类的实例的单一职责WebAuthenticationDetails。您可以将其视为一个简单的转换器。

HttpServletRequest代表解析后的原始HTTP 数据并且是标准 Java 类的对象是输入。这WebAuthenticationDetails是一个内部 Spring 类。

因此,您可以将其视为servlet类和Spring类之间的桥梁。

HttpServletRequest是一个古老的阶级。一直回到 Java 6。(链接)。另一种来自Spring。(关联