Spring security 如何修改hasIpAddress以验证X-Forwarded-For?

Spring security 如何修改hasIpAddress以验证X-Forwarded-For?,spring-security,Spring Security,我想知道,如何在Spring Security中修改hasIpAddress方法,以便它验证请求中的X-Forwarded-For头,而不是远程ip地址?您可以选择使用所需的逻辑创建自定义类。然后,可以扩展DefaultWebSecurityExpressionHandler并覆盖createEvaluationContextInternal,在这里可以实例化自定义类并将其设置为StandardEvaluationContext中的变量。请参见查看spring-security-oauth2如何

我想知道,如何在Spring Security中修改
hasIpAddress
方法,以便它验证请求中的X-Forwarded-For头,而不是远程ip地址?

您可以选择使用所需的逻辑创建自定义类。然后,可以扩展
DefaultWebSecurityExpressionHandler
并覆盖
createEvaluationContextInternal
,在这里可以实例化自定义类并将其设置为
StandardEvaluationContext
中的变量。请参见查看spring-security-oauth2如何扩展
DefaultWebSecurityExpressionHandler
,以添加特定于oauth2的验证逻辑。然后在http安全规则中,将表达式处理程序设置为使用自定义表达式处理程序。在xml中,这类似于:

<security:http>
        <security:expression-handler ref="yourCustomExpressionHandler"/>
</security:http>