0

我正在尝试 Websphere 7 中的 SPNEGO 功能。我想在客户端不支持 SPNEGO 的情况下允许基本身份验证。

在我的 web.xml 中,我有

<login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>SampleApp Login</realm-name>
</login-config> 

在 Websphere 的管理控制台中,

Security -> Global Security -> Web and SIP security -> General settings,我"Default to basic authentication when certificate authentication for the HTTPS client fails"检查过,

在 下Security -> Global Security -> Web and SIP security -> SPNEGO Web authentication,我已经“ Allow fall back to application authentication mechanism”检查了。

当我使用客户端支持 SPNEGO(例如 IE)来访问我的 Web 应用程序时,它似乎很好。但是,当我切换到不支持 SPNEGO 的客户端(例如 Firefox)时,它只会显示一条消息“此客户端不支持 SPNEGO 身份验证”。,而不提示我进行基本身份验证。

谁能给我一些关于我可能错过的提示?非常感谢。

4

1 回答 1

1

简而言之,当 SPNEGO 失败时,您需要提供一个 URL。

这就是你的做法:

  1. 准备一个您想在 SPNEGO 协商失败时显示的页面,并记下该页面的地址
  2. 在 websphere 管理控制台中,转到 Global security > SPNEGO Web authentication
  3. 查看“SPNEGO 过滤器”列表,单击列表中的第一项
  4. 您现在应该在 Global security > SPNEGO Web authentication > yourhost.domain.com
  5. 将地址粘贴到页面以在以下字段中显示 SPNEGO 协商失败时:“SPNEGO 不支持错误页面 URL”
  6. 单击确定,保存更改。如果您没有启用“动态更新 SPNEGO”,则需要重新启动。

有关该字段的详细信息,请参阅下一页上的 8e: 使用管理控制台启用和配置 SPNEGO Web 身份验证

对于不在活动目录中或因其他原因无法使用 SPNEGO 的用户,我自己使用了该功能。它有一个不受欢迎的行为,那就是它不能很好地解释 utf-8 页面。但是,如果您只使用英文字母,您将不会注意到(或者如果您使用 html 实体,例如&aring;.

您写道,firefox 不支持 SPNEGO,但这是不正确的,但需要进行一些小调整。有关详细信息,请参阅配置客户端浏览器以使用 SPNEGO 。

于 2013-02-26T00:19:46.490 回答