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