如何使用iOS应用程序对Active Directory进行身份验证

时间:2011-10-04 17:40:53

标签: ios xcode xcode4 ios4 active-directory

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

任何关于指导方向的建议都将受到高度赞赏。

由于 扎克

2 个答案:

答案 0 :(得分: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)

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

答案 1 :(得分:0)

所以我能够找到的是我需要使用PHP来做到这一点。通过在服务器上创建一个php文件,我可以使用内置的ldap协议将用户名和密码带到ldap服务器进行验证。然后查询应该返回true或false。一旦我得到这个工作生病了我的代码