Spring MVC:单个控制器的域限制

时间:2016-07-06 18:39:12

标签: java spring spring-mvc spring-security

我知道我们可以使用Spring安全性来限制通过IP地址访问控制器,甚至我可以创建自定义注释来为此添加一些自定义逻辑。 我需要将对我的应用程序中的控制器的访问权限限制为仅限于特定域名(第三方),我使用此第三方提供商检查了我可以用来配置的IP范围,但是他们希望有更多自由围绕IP地址,并希望我根据域名创建访问权限。

我检查了文档但无法找到任何此类用例,任何人都可以帮助我理解这是否可行或者我需要回到基于IP的访问机制?

1 个答案:

答案 0 :(得分:0)

我认为你可以使用Spring的CORS支持。

即如果您希望请求的域是example.com,您可以在控制器方法中使用以下注释

@CrossOrigin(origins = "http://example.com")
  

此@CrossOrigin注释仅启用跨源请求   这个具体方法。默认情况下,它允许所有来源,所有标题,   @RequestMapping注释中指定的HTTP方法和   使用maxAge 30分钟。您可以通过自定义此行为   指定其中一个注释属性的值:origin,   方法,allowedHeaders,exposedHeaders,allowCredentials或maxAge。   在此示例中,我们仅允许http://localhost:8080发送   跨领域请求。

查看以下网址https://spring.io/guides/gs/rest-service-cors/