我想在我的非安全页面中嵌入到我的应用程序的安全页面链接。 安全的Tomcat端口在server.xml文件中进行配置。在某些部署中,它是443、8443等。因此,我需要一种方法从Tomcat配置中读取安全端口并在链接中使用它。这是否可能?另外,仅仅获得对server.xml配置的访问权限(在请求的上下文中)并自己解析以确定端口号也是可以接受的,但不太理想。我意识到可能会有几个连接器和几个安全连接器,所以我会让我的程序逻辑决定选择哪一个。问题是-如何获取该信息?谢谢!
我相信这方面没有API可用。您可以通过web.xml中的servlet环境参数进行配置。明显的缺点是,现在SSL端口号有两个配置位置。
另一种方法是在web.xml中配置安全性,类似于以下内容:
<security-constraint>
<web-resource-collection>
<web-resource-name>MyLoginPage</web-resource-name>
<url-pattern>/login</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
init()
方法中搜索server.xml文件、解析它并将端口号存储在某处。该servlet应该会自动加载。web.xml
文件中。但这意味着您必须在本地安装相同的Tomcat,或者您必须可以远程访问server.xml
文件。