单一登录与windows登录

时间:2013-03-21 09:45:03

标签: perl authentication active-directory ldap kerberos

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

1 个答案:

答案 0 :(得分:0)

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

由于您希望SSO具有Windows登录凭据,因此您希望使用默认凭据。这意味着您无需直接使用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,因为它们是兼容的)