在发布应用程序时,如何禁用开发期间使用的页面?

时间:2014-01-08 07:25:48

标签: jsf maven java-ee jsf-2 glassfish

有没有办法在部署到生产环境时禁用JSF页面,但在开发环境中使用这些功能?

我正在使用Java EE和JSF来创建Web应用程序。我使用了许多JSF页面来进行调试和测试。我想在应用程序部署到其生产环境中时禁用这些页面。没有人,甚至没有开发都需要在已部署的应用程序上使用这些页面,所以我想禁用它们作为安全预防措施。

我不想简单地限制对经过身份验证的用户的访问。首先,这使得使用调试功能变得繁琐,因为需要登录。其次,调试功能非常强大,如果我的Web应用程序中存在漏洞,攻击者可能会破坏性地获取这些功能。

1 个答案:

答案 0 :(得分:0)

您可以使用Maven WAR插件从构建中排除资源。您可以使用通配符和偶数表达式来指定要排除的内容。

让我们参考文档中的一些改编示例:

<build>
    <plugins>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.4</version>
        <configuration>
          <packagingExcludes>*-test.xhtml</packagingExcludes>
        </configuration>
      </plugin>
    </plugins>
</build>

这将从Web应用程序的根目录中排除所有 -test.xhtml 结束的资源。您可以根据需要开发此项目。

另见: