0

现在,我正在开发单点登录,以便可以使用windows登录来访问本地网站,我正在用Perl编写代码,我没有这样做的经验,因为会有一些复杂的步骤比如作为; 使用 kerberos 验证用户和密码。我不知道该怎么做,谁能给我一个教程链接或想分享想法?甚至教我怎么做?

4

1 回答 1

0

我不知道 perl,但我在 java 中使用 curl 和 urlconnect 完成了它

由于您希望使用 Windows 登录凭据进行 SSO,因此您希望使用默认凭据。这意味着您不需要直接使用 kerberos API 来获取凭证并将其转换为 GSSAPI 凭证。

您需要的是访问 gssapi 凭据。所以你使用: -

http://metacpan.org/pod/GSSAPI

GSSAPI 可用于创建上下文对象并传递身份验证所需的令牌。在 SSO 的情况下,只需在凭据参数中使用默认凭据 (GSS_C_NO_CREDENTIAL)。

就 url 访问而言,您需要了解如何在 perl 中将 url 连接库与上下文对象一起使用。这可能很困难,我不知道该怎么做。但是,您可以将 libcurl 与 perl 绑定交替使用。Libcurl 在内部使用 GSS-API 来完成它的工作。

http://curl.haxx.se/libcurl/perl/

如果您希望在工作中使用 libcurl,您应该使用 GSS-Negotiate(MIT Kerberos)和 SPNEGO(openssl 和 fbopenssl)构建 libcurl。这需要时间和耐心。

这应该让你继续前进。请记住,被保护的资源(或者更确切地说是保护程序)也必须使用 GSS-API(或等效的 SSPI,因为它们是兼容的)

于 2013-03-22T10:18:06.767 回答