2

我正在尝试使用 SourceForge 的 de SPNEGO 库为 Web 应用程序实现 Java SSO。http://spnego.sourceforge.net上的 hello_spnego.jsp 示例运行良好,但是关于下一个参数,我还有些不明白的地方:

  1. spnego.prompt.ntlm 为不支持 Kerberos 的客户端启用基本身份验证。该参数的推荐值是什么,为什么?
  2. spnego.allow.basic 除了提供 Kerberos 身份验证外,还提供基本身份验证。我了解基本身份验证请求凭据不是很安全。该参数的推荐值是什么,为什么?
  3. spnego.allow.unsecure.basic。如果启用了基本身份验证,我认为它的值必须为 false,但我不确定。
4

1 回答 1

1

参数的值取决于您的用例。如果您有严格的 kerberos/spnego 环境(最安全,但所有客户端和用户都需要启用 kerberos/spnego)然后使用

  • spnego.prompt.ntlm=false因为我们只允许 kerberos
  • s pnego.allow.basic=false因为我们只允许 kerberos
  • spnego.allow.unsecure.basic=false不相关,因为 spnego.allow.basic=false

如果您想允许除 kerberos/spnego 之外的其他身份验证机制,那么您必须决定哪些机制:NTLM 和/或基本。该库不支持 NTLM,因此仅剩下 Basic 一个。

  • spnego.prompt.ntlm=true因为我们希望仅允许基本的非 spnego/NTLM 客户端
  • spnego.allow.basic=true因为我们希望允许非 spnego 客户端使用 basic
  • spnego.allow.unsecure.basic=false我们强制通过 HTTPS 进行基本身份验证(如果您不这样做并在此处将值设置为 true,那么您会以未加密和明文形式传输您的凭据,我猜这不是您想要的)
于 2014-05-03T19:23:40.817 回答