使用PHP和LDAP连接到Microsoft Office 365

时间:2012-07-18 22:15:56

标签: php authentication ldap office365

我所工作的公司已将其本地交换迁移到托管的Office 365解决方案。我们正在构建多个外部(到我们的本地网络)托管网站,并希望使用LDAP身份验证来构建我们现有的托管用户群。

任何人都可以解释或指出一些使用PHP和LDAP连接到远程托管AD(在本例中为Office 365)并对用户进行身份验证的方法的文档吗?

感谢您的时间和精力。

2 个答案:

答案 0 :(得分:4)

这是可能的。 Microsoft最近为其Windows Azure云平台发布了开发人员预览版,其功能与许多其他云计算服务(AmazonPagoda BoxHeroku)相同。除此新产品外,开发的应用程序还可以使用您的Office365帐户凭据来利用单点登录。

以下是一些介绍PHP过程的文章:

  1. How to implement single sign-on with Windows Azure Active Directory - PHP Application
  2. Get Started with Windows Azure Active Directory
  3. 注意:

    • 示例一的源代码是git repo。此repo不包含引用的.csproj文件,因此您必须使用包含的3个源文件构建项目。如果我能做到,你可以这样做:)。
    • 还应该注意,在Office365身份验证完成并重新路由回您的应用程序后,它希望返回URL为HTTPS,如果不是,您将收到错误(或者至少我做了)。

答案 1 :(得分:-2)

我已经使用php完成了ldap身份验证和其他内容这是基本身份验证,确保在尝试进行身份验证时DN是正确的。

      define("LDAPSERVER","192.168.0.1"); // your server
      define("LDAPBINDDN","cn=Worker,dc=mlonline,");
      define("LDAPBINDPW","FakePassword");


        $ds=ldap_connect(LDAPSERVER);
        if($ds){
            try{
                    $bind=ldap_bind($ds,LDAPBINDDN,LDAPBINDPW);
                    if($bind){
                            //yeah authenticated
                    }else{
                        throw new Exception('Cannot Connect to server Authentication Failed');
                    }

            }catch(Exception $e){
                throw $e;
            }
        }else{
           throw new Exception('Server Down');
        }