我有Tomcat应用程序,我想添加对集成Windows身份验证(IWA)的支持 我想要以下行为:
因此,我的应用程序具有以下工作流程:
我在第4步遇到问题。IE和Chrome始终显示访客用户的登录提示(使用FF,没有登录提示)。 有没有办法避免登录提示?我有自己漂亮的登录表单,我不想要访客用户的本机登录提示。 看来,我只需要kerberos身份验证,但IE和Chrome使用NTLM身份验证和登录提示。
我是否需要发送401 WWW-Authenticate:Kerberos而不是Negotiate?
答案 0 :(得分:1)
IE中的弹出式对话框是硬编码的,你不会把它拿走。它正在查询传递给SSPI的备用凭据。切换到Kerberos而不是Negotaite将不会给你任何东西,因为没有浏览器(IE,Chrome,FF)直接支持Kerberos但仅通过SPNEGO。你运气不好。如果SPNEGO失败,您最好使用Basic
,但最后,在企业环境中失败的Kerberos只会意味着您的网络设置有问题并且需要修复。
编辑:由于您要为Intranet和Internet用户提供服务,因此您需要筛选身份验证器。如果您碰巧在Tomcat端使用Authenticator
,您可以轻松编写SiftingAuthenticator
,根据IP地址的范围决定简洁的身份验证器最佳。使用CombinedRealm
作为模板。