这使我发疯。Tomcat FORM身份验证 - 登录表单不会显示为https
我正在使用Tomcat 6,声明身份验证,基于窗体。没有涉及的框架。 一切工作正常 - 一些页面进行身份验证,一些没有,一些使用https,一些http。一切都如我所愿。除...
我希望登录页面始终使用https。
登录页面很好地显示为https,如果: a)我直接在浏览器中访问它。 b)我点击配置为https的应用程序中的页面(并且需要验证)。
但是登录页面出现为http,如果: a)我点击为http配置的应用程序中的一个页面(并且需要验证)。
我有一种感觉,我反对某种接受的默认在这里,答案可能是“你为什么要https登录到非https页面?”。 它是这样的: a)我想要密码被加密。 b)我希望用户登录以显示它们属于哪个角色(组),以启用/禁用部分网站。 c)除了绝对必要的地方,我不希望由于https导致性能下降。
我猜如果登录页面被强制为https(就像我想要的那样),那么必须有一种机制将其返回到http。
如果有人对这个整个区域有一些指示/想法,我会非常感激。
的web.xml片段:
<security-constraint>
<display-name>Security Constraint A0S1</display-name>
<web-resource-collection>
<web-resource-name>A0S1</web-resource-name>
<url-pattern>/login/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login/form_login.jsp</form-login-page>
<form-error-page>/login/error.jsp</form-error-page>
</form-login-config>
</login-config>
web.xml中: <安全约束> <显示名称>秒显示名称> <网络资源集合> <网上资源名称> A0S网络的资源名> /登录/ * URL模式> 网络资源集合> <用户数据约束> <传输保证>机密传输担保> 用户数据-constraint> security-constraint> FORM auth-method> /login/form_login.jsp form-login-page> /login/error.jsp form-error-page> form -login-config> login-config> –
user373009
2010-06-26 17:00:03