0

我在几个 JBoss 5.1 实例中部署了一堆 .ear 文件。现在,我需要将这些应用程序之一的访问限制为各种 IP 地址,具体取决于其托管服务器。应用程序的结构是

application.ear 文件
|-> 嵌入式 .jar 文件
|-> 嵌入式 .war 文件

我知道如何通过编辑相关WEB-INF/web.xml应用程序来做到这一点,但我正在处理定期发生的自动部署,并且各种服务器之间的限制不同。

所以我想在每台服务器上放置一个包含允许的 IP 地址的配置文件,并通过让我的应用程序读取这些地址并在 JBoss 启动时相应地锁定自身来限制访问,这将是一种可行的方法。但是我找不到任何关于如何以编程方式限制对应用程序的访问的文档。

EJB Security - 例如 - 能够做到这一点吗?

4

1 回答 1

1

我认为对于您的场景RemoteAddrValve适合使用。您可以通过在文件下添加 IP 地址来对每个应用程序进行限制,.WAR/WEB-INF/context.xml也可以通过在deploy/jbossweb.sar/server.xml. Valve 也支持正则表达式。

一个示例配置:

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="1.1.1.2,1.1.1.3,1.1.4.*" />
于 2013-04-16T23:04:37.253 回答