有没有办法在部署到生产环境时禁用JSF页面,但在开发环境中使用这些功能?
我正在使用Java EE和JSF来创建Web应用程序。我使用了许多JSF页面来进行调试和测试。我想在应用程序部署到其生产环境中时禁用这些页面。没有人,甚至没有开发都需要在已部署的应用程序上使用这些页面,所以我想禁用它们作为安全预防措施。
我不想简单地限制对经过身份验证的用户的访问。首先,这使得使用调试功能变得繁琐,因为需要登录。其次,调试功能非常强大,如果我的Web应用程序中存在漏洞,攻击者可能会破坏性地获取这些功能。
答案 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 结束的资源。您可以根据需要开发此项目。
另见: