我有一个REST web服务使用spring,这是面向外部的。我想限制访问一些REST调用的管理使用和其他服务器在同一内部网络调用。
到目前为止,我可以想到以下解决方案:
使用Security将映射限制到子网,使用“access
我不喜欢这两种解决方案。(1)没有给我足够的灵活性,我可能在几个子网上,可能只想打开一个IP范围。(2)给我的几乎完全是我想要的,但这似乎很麻烦,一定有更好的方法来做到这一点。
发布于 2011-11-09 21:04:52
(2)为什么不想使用诸如@PreAuthrize这样的“标准”注释。您可以将它们放在方法上,因此不需要将敏感的REST方法移动到其他控制器。
发布于 2011-11-09 21:05:56
我处理这个问题的方法是让用户登录并在会话中存储他们的登录ID。然后,每输入一个新请求,就会检查用户的凭据,以确保他们有执行该功能的权限,并且仍然登录。
发布于 2012-01-10 05:21:14
如果您使用的是像Apache这样的反向代理,最简单的解决方案就是在那里处理这个问题。
在Security中,您将创建一个AbstractPreAuthenticatedProcessingFilter子类,它包含与IP相关的逻辑,并使用ROLE_ADMIN作为主体对请求进行身份验证。
https://stackoverflow.com/questions/8070873
复制相似问题