使用Spring Security的IP过滤器

Vya*_*hko 16 java spring spring-mvc filter spring-security

我想知道如何使用Spring Security过滤用户对我的网络应用的访问权限.我应该扩展AbstractAuthenticationProcessingFilter或类似的东西,并以我自己的方式覆盖它的方法?如果是这样,你能举例说明这种扩展和过滤器描述的例子web.xml吗?提前致谢.

PS在我的应用程序中我也有Spring Security支持(使用默认值org.springframework.web.filter.DelegatingFilterProxy),但我希望它不仅可以检查用户凭据,还可以检查它们的IP.

alf*_*day 15

一种方法是使用Spring Security的Web安全表达式.例如:

<http use-expressions="true">
    <intercept-url pattern="/admin*"
        access="hasRole('admin') and hasIpAddress('192.168.1.0/24')"/>
    ...
</http>
Run Code Online (Sandbox Code Playgroud)

  • 然而,这不是一个在现实场景中运行良好的解决方案,因为它被硬编码到XML文件中并需要重新启动app-server. (2认同)