2012-07-18 42 views
3

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

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

谢谢你的时间和精力。

+0

我非常希望远程目录不能通过互联网直接访问。你有没有设置到远程DC或VPN的VPN? – DaveRandom 2012-07-18 22:17:55

+0

嘿戴夫,我想我没有真正清楚自己。我能找到的所有PHP/LDAP示例都包含与DC相同的服务器上的PHP脚本。我感兴趣的是使用来自Web主机的PHP/LDAP连接到托管的Office 365(由Microsoft托管)并根据此验证用户凭据。 – 2012-07-18 22:41:26

+0

我很肯定这是不可能的。我绝不是Office 365的专家(实际上恰恰相反),但是从它的那个层面抽象出来,M $开放LDAP服务器到公共互联网的安全风险太大了。如果他们允许,我会*非常惊讶。 – DaveRandom 2012-07-18 22:46:04

回答

4

这是可能的。微软最近发布了Windows Azure云平台的开发人员预览版,其功能与许多其他云计算服务(AmazonPagoda Box,Heroku)类似。与此新产品一起,开发的应用程序能够利用您的Office365帐户凭据来利用单一登录功能。

下面是走在PHP程序几篇文章:

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

注:

  • 例一有其在混帐回购协议源。这个回购不包括一个引用的.csproj文件,所以你将不得不建立与包含3源文件的项目。如果我能做到,你可以做到这一点:)。
  • 还应该注意的是,在Office365身份验证完成并重新回到您的应用程序后,它预计返回URL为HTTPS,如果不是,您会得到一个错误(或至少我做过)。
+0

以上链接为404; [链接](HTTP://www.lewisroberts。com/2015/09/04/single-sign-on-with-azure-ad-in-php /)是彻底的,并扩展了原 – jaytho 2016-10-05 09:50:00

-1

我已经做了ldap身份验证和其他东西使用PHP这是基本的身份验证确保您的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'); 
     } 
+3

感谢您的回复...在查看您的示例后,我的问题是:应该将LDAPSERVER和LDAPBINDDN变量定义为连接到Office 365服务器的方式是什么? – 2012-07-18 22:47:05

+0

LDAPSERVER是您的服务器或其地址以及LDAPBINDDN的位置,请阅读http://www.ldapman.org/articles/intro_to_ldap.html,因为您需要知道用户位于活动目录中的第一个位置 – user1415567 2012-07-18 22:56:46

+2

@ user1415567我也想知道“我的服务器”应该是什么。我没有服务器,我使用Office365。在xyz.mail.protection.outlook.com和xyz.sharepoint.com上有用于邮件的每个帐户服务器。但它不会是其中之一,是吗? – John 2014-09-08 14:02:47

相关问题