【问题标题】:Tomcat web.xml: restrict access to specific methods of a servletTomcat web.xml:限制对 servlet 特定方法的访问
【发布时间】:2020-08-05 07:08:39
【问题描述】:

我正在 Tomcat 服务器下运行一个 Web 应用程序。使用 Tomcat 的 web.xml 配置不同的 servlet。

我正在寻找一种方便的方法来限制对特定 URL 的特定 METHODS 的访问,以便只有这些 METHODS 可以使用 Authorization 标头访问,而其他方法可以不受任何限制地访问。

例如,对于 url http://localhost:8080/my/servlet1 - GETOPTIONS 可以被任何用户访问,而 POSTPUT 必须使用用户名和密码进行授权,但对于 url http://localhost:8080/my/servlet2 - 所有方法都是开放的。

我该如何实现?

谢谢

【问题讨论】:

    标签: java tomcat authorization web.xml


    【解决方案1】:

    最底层的 API,允许您根据 javax/servlet/Filter 中的 HTTP 请求的上下文进行各种过滤

    您实现了一个过滤器类,它可以根据 HTTP 方法和您选择的任何其他条件进行限制。您在 web.xml 上注册过滤器,并为过滤的路径添加规则。

    Here 是关于应用此类过滤器的演练。

    如果您碰巧在您的应用程序中使用的不仅仅是一个裸 Tomcat,并且您在它之上使用 Spring Boot,您可以使用它们的过滤器风格。 This 就是这种情况的一个例子。

    【讨论】:

      猜你喜欢
      • 2011-06-18
      • 2014-08-13
      • 2011-11-24
      • 1970-01-01
      • 2013-03-17
      • 1970-01-01
      • 1970-01-01
      • 2012-09-23
      • 2011-09-11
      相关资源
      最近更新 更多