Java ntlm身份验证失败后的IE7表单身份验证

Java ntlm身份验证失败后的IE7表单身份验证,java,internet-explorer,jsp,authentication,ntlm,Java,Internet Explorer,Jsp,Authentication,Ntlm,我在身份验证方面有问题: 拥有有效域凭据的用户使用NTLM身份验证登录(我在jsp筛选器中发送“WWW Authenticate:NTLM”头和401状态。然后IE使用NTLM对用户进行身份验证,一切正常 我有其他用户(用自己的计算机连接到lan),他们不能使用NTLM登录。我创建了一个表单,他们可以在其中输入凭据并登录 我想创建混合身份验证。我添加代码,然后在NTLM身份验证失败时将用户重定向到表单登录页面。但当用户在NTLM身份验证检查后重定向的表单中输入凭据时,表单中的post数据不会发

我在身份验证方面有问题:

  • 拥有有效域凭据的用户使用NTLM身份验证登录(我在jsp筛选器中发送“WWW Authenticate:NTLM”头和401状态。然后IE使用NTLM对用户进行身份验证,一切正常
  • 我有其他用户(用自己的计算机连接到lan),他们不能使用NTLM登录。我创建了一个表单,他们可以在其中输入凭据并登录

    我想创建混合身份验证。我添加代码,然后在NTLM身份验证失败时将用户重定向到表单登录页面。但当用户在NTLM身份验证检查后重定向的表单中输入凭据时,表单中的post数据不会发送到jsp页面。我看到的不是post数据,而是标题“Authorization NTLM bla bla bla”

    有关于如何创建混合身份验证的建议吗


    • 如果您还没有解决问题,您可以提供您的web.xml吗

      安全约束应如下所示:

        <security-constraint>
          <display-name>Application Security Constraint</display-name>
          <web-resource-collection>
            <web-resource-name>Protected Area</web-resource-name>
            <url-pattern>/*</url-pattern>
            <http-method>DELETE</http-method>
            <http-method>GET</http-method>
            <http-method>POST</http-method>
            <http-method>PUT</http-method>
          </web-resource-collection>
          <auth-constraint>
            <role-name>Everyone</role-name>
          </auth-constraint>
        </security-constraint>
      
        <security-constraint>
          <display-name>Login Page</display-name>
          <web-resource-collection>
            <web-resource-name>Unprotected Login Page</web-resource-name>
            <url-pattern>/login.jsp</url-pattern>
          </web-resource-collection>
        </security-constraint>
      
        <security-role>
          <role-name>Everyone</role-name>
        </security-role>
      
      
      应用程序安全约束
      保护区
      /*
      删除
      得到
      邮递
      放
      每个人
      登录页面
      无保护登录页面
      /login.jsp
      每个人
      
      我有自己的身份验证过滤器,所以我的配置与上面的配置不同。我已经解决了我的问题:我创建了一个特殊链接,它不会在标题中创建ntlm一样的垃圾,并在用户输入凭据后提供登录。所以我的应用程序中有两个入口点。虽然不完美,但它可以工作。

      我有自己的身份验证过滤器呃,所以我的配置和上面的配置不一样。我已经解决了我的问题:我创建了一个特殊的链接,它不会在标题中创建像ntlm一样的垃圾,并在用户输入凭据后提供登录。所以我的应用程序中有两个入口点。虽然不完美,但它可以工作。