我已使用内置的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>
答案 0 :(得分:0)
这里的Tomcat开发人员...您使用的代码是我多年前捐赠的。
不可能,web.xml
仅允许一种身份验证方案。最好的选择是修改身份验证器,添加基本支持并在Java中执行kinit
,获取票证,从安全上下文中提取信息。同样的方法由mod_auth_gssapi完成。