2012-07-18 41 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

相關問題