web.xml中的多个身份验证方法

时间:2020-01-23 10:54:17

标签: tomcat spnego

我已使用内置的Tomcat支持在tomcat中配置了Kerberos身份验证。 以下是web.xml的一部分,当前只有域用户能够对非域用户(外部PC)进行身份验证和访问应用程序,该站点无法访问并提供以下响应。

HTTP状态401 \ u2013未经授权

类型状态报告

说明由于缺少针对目标资源的有效身份验证凭据,因此该请求尚未应用。

有没有一种方法可以重定向到非域PC的用户名和密码提示 我在web.xml中添加了以下行

<security-constraint>
  <web-resource-collection>
    <web-resource-name>APP1</web-resource-name>
    <url-pattern>/*</url-pattern>
  </web-resource-collection>
  <auth-constraint>
     <role-name>*</role-name>
  </auth-constraint>
</security-constraint>
<login-config>
   <auth-method>SPNEGO</auth-method>
</login-config>

1 个答案:

答案 0 :(得分:0)

这里的Tomcat开发人员...您使用的代码是我多年前捐赠的。

不可能,web.xml仅允许一种身份验证方案。最好的选择是修改身份验证器,添加基本支持并在Java中执行kinit,获取票证,从安全上下文中提取信息。同样的方法由mod_auth_gssapi完成。