我们希望能够在我们的 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 的新手,可能会遗漏一些明显的东西,或者试图使事情变得过于复杂。