在web.xml中配置security-constraint元素,
对login.jsp进行强制https。
然后再登陆成功的页面,转向路径必须写成完整的
http://localhost/mywebapp/success.jsp.
这样就又转回了http方式。

解决方案 »

  1.   

    这样是不行的啊,我现在使用的是服务器的基于表单的验证表单的action="j_security_check"是固定的,j_security_check是系统提供的。这将不能在里面写个自己的验证逻辑。还有我发现Tomcat在验证安全约束的时候使用的“forward()”转向了login.jsp,而websphere则使用了"sendRedirect()";在websphere使用基于表单的验证是完全能从https,转换为登陆前的页面使用的http协议的,并且session值都存在,现在问题是有没有高手知道怎么改变tomcat基于表单验证的页面重定向方式??
      

  2.   


    你应该在那个登陆成功的页面里对 request.getScheme() 进行判断啊,
    如果是https
    就sendRedirect给自己,只不过url请求是http://开头。