我有一个Web应用程序,它也可以进行kerberos和基本身份验证。我不知道客户的能力。因此,两种身份验证机制都在401回复中发送。
回复标题将包含
WWW-Authenticate: Negotiate
WWW-Authenticate: Basic realm="MyREALM"
但是,我希望客户端仅在协商失败时才使用基本身份验证。
我希望流程应该像
我怎样才能做到这一点?我修改了服务器代码来做到这一点。但是,不在任何域中的浏览器(应该执行基本身份验证)在步骤2之后不会响应。
最佳答案
您的浏览器是什么?特定的RFC chapter 4.6要求浏览器必须使用提供的最强身份验证。我无法记忆起浏览器如果无法获取凭据时应该怎么做。
关于http - 仅当协商失败时,如何从协商方法回退到基本方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5405295/