我正在使用 Spring MVC 创建一个 Web 应用程序,以在 Tomcat 7 中运行。我在登录页面上有一个 POST 请求,发送到 /account/login,我想通过 https 发送该请求。
在我的 web.xml 中,我有:
<security-constraint>
<web-resource-collection>
<web-resource-name>Login</web-resource-name>
<url-pattern>/account/login</url-pattern>
</web-resource-collection>
<web-resource-collection>
<web-resource-name>Login-Error</web-resource-name>
<url-pattern>/account/login-error</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
在 tomcat server.xml 我有一个 https 连接器:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
SSLEnabled="true" maxThreads="150" scheme="https"
secure="true" clientAuth="false" sslProtocol="TLS"
keystoreFile="/path/to/my.cert" keystorePass="password" />
当我点击登录页面时,协议始终是 https,并且登录过程本身运行良好。
但是,当我使用 firefox 插件“篡改数据”来检查 POST 请求时,用户名和密码是纯文本的。我期待它们被加密 - 我错过了什么吗?