【问题标题】:How to authenticate to Active Directory using iOS app如何使用 iOS 应用对 Active Directory 进行身份验证
【发布时间】:2011-10-04 17:40:53
【问题描述】:

我正在尝试创建一个获取用户凭据并使用 AD 服务器验证它的 iOS 应用程序。 xCode 中是否有一些内置库可以做到这一点,还是第三方?

任何关于方向的建议将不胜感激。

谢谢 扎克

【问题讨论】:

    标签: ios xcode xcode4 ios4 active-directory


    【解决方案1】:

    好的,这就是我用来连接 ldap 服务器的 PHP。我不是 100% 确定这里发生了什么,我从我公司的 IT 协调员那里得到了这段代码。我了解所有绑定和搜索部分,但我不了解整个事情的 ldap_set_option 部分。无论如何,在以这种方式设置之后,您就可以调用 php 脚本的 URL 并为其传递参数。看看 PHP,下面是 url 示例。

    <?php
    //Connection parameters
    $dn = "DC=network,DC=net";
    $host = "ldap://ldap.network.com";
    $port = 1111
    
    $user = $_GET['user'];
    $pass = $_GET['pass'];
    
    //$user = "user@network.net";
    //$pass = "pass";
    
    $filter = "memberof";
    $keyword = "CN=USSC_ALL,CN=Users,DC=network,DC=net";
    
    $filter = "objectclass";
    $keyword = "user";
    
    $filter = "objectcategory";
    $keyword = "CN=Person,CN=Schema,CN=Configuration,DC=network,DC=net";
    
    //The real thing with PHP
    if (!empty($keyword) and !empty($dn)) {
    //Connect to the AD
    $adConn = ldap_connect($host, $port) or die("Could not connect!");
    
    //Set protocol verison
    ldap_set_option($adConn, LDAP_OPT_PROTOCOL_VERSION, 3) or die ("Could not set ldap     protocol1");
    
    //Set referrals... Won't work without this...
    ldap_set_option($adConn, LDAP_OPT_REFERRALS, 0) or die ("Could not set ldap protocol2");
    
    //Bind the user
    $bd = ldap_bind($adConn, $user, $pass) or die ("Could not bind");
    
    echo $bd;
    
     //End binding
    ldap_unbind($adConn);
    
    
    
    } else {
       echo "<p>No results found!</p>";
    }
    
    ?>
    
    
    </body>
    </html>  
    

    好的,现在您只需将用户名和密码传递给脚本,它就会返回绑定。这会给你真或假。这意味着如果它绑定成功,它就是用户名和密码的正确组合。

    我是这样称呼它的:

    http://192.268.192.1/ldap.php?user=(username here)&pass=(password here)
    

    这是我采用的方法,我认为这是一个非常简单的答案。

    【讨论】:

    • 您应该使用 url 参数来发布用户凭据。您还应该使用 SSL。我建议在您的盒子上设置 SSL 证书并使用表单发布这些凭据。
    【解决方案2】:

    所以我发现我需要使用 PHP 来执行此操作。通过在服务器上创建一个 php 文件,我可以使用内置的 ldap 协议将用户名和密码带到 ldap 服务器进行验证。然后查询应该返回真或假。一旦我得到这个工作不正常发布我的代码

    【讨论】:

      猜你喜欢
      • 2017-12-24
      • 2019-09-14
      • 2020-06-26
      • 1970-01-01
      • 1970-01-01
      • 2016-05-12
      • 2018-11-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多