问题标签 [spnego]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
674 浏览

tomcat7 - 密码更改后的 Kerberos/Spnego 身份验证问题

我将 Tomcat 设置为使用 SPNEGO 身份验证,因此用户无需输入密码即可单点登录我们的 Web 应用程序,一切正常。昨天我更改了服务帐户的密码并重新创建了 keytab 文件,但在 Tomcat 重新启动后,SSO 停止工作。在我发现的日志中:

由于配置应该没问题,我不知道为什么会出现此错误...可能与未刷新的 Ticket Granting Ticket 相关?

0 投票
2 回答
2110 浏览

java - 使用 Java 多次提示密码的 SPNEGO

我正在使用 spnego http://spnego.sourceforge.net在我的系统上进行单点登录,问题是输入正确的密码也会一次又一次地提示。

有时输入两次就可以加入系统,有时需要输入超过10次相同的用户名和密码才能进入系统。

登录系统后,可以随机多次提示密码,一次又一次。

提前致谢

0 投票
3 回答
21929 浏览

kerberos - 带有 Kerberos 的 SPN 如何工作

据我了解,

  • SPN 是 Windows 服务的身份验证工具。
  • Kerberos 是一种用户身份验证服务
  • SPNEGO-GSSAPI 是能够使用这些服务的第三方 API。
  • SSPI :是从 SPNEGO 向 SPN 服务发送请求的中立层。

我完全迷路了吗?

试图弄清楚它是如何工作的,但信息要么太精确,要么不够。

0 投票
0 回答
1047 浏览

apache - 通过 Apache 到 Cherrypy 的 Kerberos/SPNEGO 身份验证

我们希望能够在我们的 Web 应用程序中提供无缝的单点登录。我们的用户都在使用现代版本的 IE,他们将在 Intranet 中本地访问我们的网站,他们都将使用 AD 帐户登录到 Windows。

看来我们可以使用集成的 windows 身份验证让浏览器通过凭据,所以这一面看起来不错。

但是在服务器端,我们有 Apache 2.2(托管在 Windows Server 2008+ 上)和 CherryPy,我们使用重写规则将请求传递到 CherryPy。

我设法为 Apache 2.2 ( https://github.com/ibauersachs/mod_spnego ) 找到了一个 windows 编译的 mod_spnego 版本,我相信我已经以某种方式配置了这个,以使用他们的 AD 凭据对客户端进行身份验证。

但是,我们需要以某种方式将这些用户详细信息传递给 CherryPy,因为我们需要通过 LDAP 获取更多 AD 详细信息以在我们的应用程序中应用权限(我们已经这样做了,但首先使用简单的用户名/密码身份验证)。这是我陷入死胡同的地方,因为我似乎找不到办法做到这一点。

我已经看到各种关于 REMOTE_USER 环境变量的讨论以及使用我们在 Apache 中需要的信息设置扩展标头的建议,但这些似乎都不起作用。

任何人都可以帮助我了解如何解决这个问题吗?抱歉,如果我没有正确描述上面的所有内容,因为我说我是 Kerberos/SPNEGO 的新手,可能会遗漏一些明显的东西,或者试图使事情变得过于复杂。

0 投票
2 回答
2772 浏览

php - PHP - 如何将 Curl 与 Kerberos 一起使用

我正在尝试使用 curl 进行一些操作,但我必须工作的网站使用 Kerberos 身份验证。因此,我必须启用默认禁用的 curl 的 SPNEGO 功能。

这是我的 phpinfo 的摘录:

我怎样才能做到这一点?

0 投票
1 回答
2950 浏览

java - 为什么基本的 AUTH 框在 Chrome 中弹出两次,但在带有 spnego SSO 的 Firefox 中没有

我有一个非常普通的 spnego SSO 设置,它针对 Active Directory 服务器进行身份验证。IE SSO 包含 NEGOTIATE 标头 cookie,该 cookie 无需任何提示用户即可正确进行身份验证。Firefox 和 Chrome 不包含 SSO cookie,因此会故障回复到基本身份验证。他们确实正确接收了用户名和密码并正确登录。

但是,我的小烦恼是它在 Firefox 中提示一次,但在 Chrome 中它提示输入密码两次。

关于为什么它可能会提示两次的任何想法?

为了完整起见,设置如下:

0 投票
1 回答
6542 浏览

kerberos - 在 Kerberos 数据库中找不到客户端

我使用CAS和Spnego-support,KDC是192.168.1.244,我的领域是EXAMPLE.COM我测试我的本地Windows域环境,我可以从Example.com获得票我通过“kinit”命令测试它,但在CAS spnego 环境,在 Kerberos 数据库中找不到异常客户端,我已经在 C:\windows\krb5.ini 中创建了它,内容如下

krb5.ini

异常报告如下:

但是为什么在 kerberos 数据库中找不到客户端?kerberos 不应该在我的本地创建?thx 为点。

0 投票
2 回答
661 浏览

java - 以与 tomcat 不同的用户身份启动 Java 进程

我需要以其他用户身份使用 ProcessBuilder 启动一个进程。

用户在 Tomcat 7 下使用 SPNEGO 协议登录。Tomcat 进程在 Windows 7 机器上的服务器帐户下运行。该用户是 Active Directory 中的有效用户。

我需要以登录用户而不是 Tomcat 用户的身份生成一个进程并执行一些操作。

我可以从请求中获得委托人。我想使用 Subject 的 doAsPrivileged 方法,但我没有对 Subject 的引用。

我可以创建一个吗?有没有办法在不修改身份验证器的情况下访问主题?有没有其他方法可以做到这一点?

0 投票
1 回答
3572 浏览

java - 通过 HttpClient 进行 SPNEGO 身份验证

我正在尝试对运行 IIS 的 Windows 服务器进行身份验证,该服务器使用 Apache HttpClient 4.3 为 Windows 集成身份验证 (SPNEGO) 配置。我的代码看起来与我能够在网上找到的示例代码非常相似,但是当我运行它时,我始终会返回 HTTP 401。我在结果上运行了 Wireshark,并没有看到 SPNEGO 令牌被传递到服务器。

我可以通过网络浏览器很好地访问受保护的资源,在这种情况下,我确实看到了 SPNEGO 令牌。但是,当我运行我的代码时,行为是不同的。这是有问题的代码:

我相信我已经正确配置了我的 krb5.conf 文件,并且我的 login.conf 文件直接取自 Apache HttpClient 文档。如文档中所述,我还进行了适当的注册表项更改。

知道是什么原因造成的,或者我该如何进行故障排除?有没有我遗漏的步骤或线条?

0 投票
0 回答
802 浏览

php - 使用 SPNEGO 针对服务的 PHP SOAP 请求

我正在尝试使用 PHP 访问 SOAP WebService。该服务是在客户现场安装和配置的 Windows 服务。我连接的服务器可配置为接受两种不同的身份验证模式。NTLM 或 SPNEGO。

当它被配置为使用 NTLM 时,我能够成功地连接到服务器而没有问题,使用 SoapClient 的以下扩展类:

但是,如果我将服务器配置为使用 NTLM 的 SPNEGO,它显然不能开箱即用。我尝试更改以下内容:

在四处搜索和试验之后,我发现有人建议只提供用户名而不提供密码:

以上都没有奏效。CURL 总是以 HTTP 401 Unauthorized 响应。

运行 phpinfo(); 结果 PHP 告诉我 CURL 启用了 SPNEGO。

所以,我认为为我的请求启用 SPNEGO 可能不是那么“容易”,但我从未使用过它,而且我找不到任何关于如何使用 PHP 执行 SPNEGO 请求的资源,所以要么我错过了某事,或者我可能需要另一种方法。任何提示或建议表示赞赏。

注意:不幸的是,我需要连接到该服务的各种实例。虽然我们几乎总是负责管理服务,但 SPNEGO 是默认设置,我们的许多客户不希望将其更改为 NTLM,因此我不得不同时支持这两种模式。