Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP和LDAP连接到Microsoft Office 365_Php_Authentication_Ldap_Office365 - Fatal编程技术网

使用PHP和LDAP连接到Microsoft Office 365

使用PHP和LDAP连接到Microsoft Office 365,php,authentication,ldap,office365,Php,Authentication,Ldap,Office365,我工作的公司已将其本地exchange迁移到托管的Office 365解决方案。我们正在建设几个由外部(本地网络)托管的网站,并希望使用LDAP身份验证来建立我们现有的托管用户群 有人能解释或指出一些使用PHP和LDAP连接到远程托管广告(在本例中为Office 365)并验证用户身份的方法文档吗 感谢您花费的时间和精力。我已经使用php完成了ldap身份验证和其他内容。这是基本身份验证。请确保在尝试身份验证时您的DN是正确的 define("LDAPSERVER","192.168

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

有人能解释或指出一些使用PHP和LDAP连接到远程托管广告(在本例中为Office 365)并验证用户身份的方法文档吗


感谢您花费的时间和精力。

我已经使用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');
        }

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

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

  • 注:

    • 示例一的源代码是git回购协议。此repo不包含引用的.csproj文件,因此您必须使用包含的3个源文件构建项目。如果我能做到,你也能做到:)
    • 还应该注意的是,在Office365身份验证完成并重新路由回您的应用程序后,它希望返回的URL是HTTPS,如果不是,您将得到一个错误(或者至少我是这样做的)
    我非常希望远程目录不能通过internet直接访问。你有远程DC的VPN吗?嘿,戴夫,我想我没说清楚。我能找到的所有PHP/LDAP示例都由与DC位于同一服务器上的PHP脚本组成。我感兴趣的是使用Web主机上的PHP/LDAP连接到托管的Office 365(由Microsoft托管)并验证用户凭据。是的,我很确定这是不可能的。我绝对不是Office 365方面的专家(事实上恰恰相反),但从这一层抽象出来,对M$来说,像那样将LDAP服务器开放到公共互联网上的安全风险太大了。如果他们允许的话,我会非常惊讶。谢谢你的回复。。。看看你的例子,我的问题是:LDAPSERVER和LDAPBINDDN变量应定义为什么以连接到Office 365服务器?LDAPSERVER是服务器的位置或其地址,对于LDAPBINDDN,请阅读此内容,因为您需要知道用户在active directory中的位置first@user1415567我还想知道什么是“我的服务器”应该是。我没有服务器,我使用的是Office365。xyz.mail.protection.outlook.com上的邮件和xyz.sharepoint.com上的网站都有每个帐户的服务器。但它不会是其中之一,是吗?上面的链接是404;是彻底的,并在原有的基础上扩展