我正在尝试创建一个获取用户凭据的iOS应用程序,并使用AD服务器对其进行验证。在xCode中是否有一些内置库可以做到这一点,还是第三方?
任何关于指导方向的建议都将受到高度赞赏。
由于 扎克
答案 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。一旦我得到这个工作生病了我的代码