#ios #xcode #xcode4 #ios4 #active-directory
#iOS #xcode #xcode4 #ios4 #active-directory
Вопрос:
Я пытаюсь создать приложение для iOS, которое принимает учетные данные пользователей и проверяет их на сервере AD. Есть ли в xCode какая-то встроенная библиотека для этого, или это сторонняя организация?
Любые советы о направлении поиска будут с благодарностью приняты.
Спасибо, Зак
Ответ №1:
Итак, это был PHP, который я использовал для подключения к серверу ldap. я не уверен на 100%, что здесь происходит, я получил этот код от ИТ-координатора в моей компании. Я понимаю все части привязки и поиска, но я не понимаю часть ldap_set_option всего этого. В любом случае, после настройки таким образом, вы можете вызвать URL-адрес php-скрипта и передать ему параметры. взгляните на PHP и пример url с be ниже.
<?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>
Хорошо, теперь все, что вам нужно сделать, это передать скрипту имя пользователя и пароль, и он вернет привязку. это даст вам либо true, либо false. это означает, что если он успешно связан, это правильная комбинация имени пользователя и пароля.
вот как я это называю:
http://192.268.192.1/ldap.php?user=(username here)amp;pass=(password here)
Это подход, который я выбрал, и я думаю, что это очень простой ответ.
Комментарии:
1. Вы не должны использовать параметр url для публикации учетных данных пользователя. Вы также должны использовать SSL. Я рекомендую настроить SSL-сертификат на вашем почтовом ящике и использовать форму для публикации этих учетных данных.
Ответ №2:
Итак, что я смог выяснить, так это то, что для этого мне нужно использовать PHP. Создав php-файл на сервере, я могу использовать встроенный протокол ldap для передачи имени пользователя и пароля на сервер ldap для проверки. Затем запрос должен возвращать true или false. Как только я получу эту работу, я опубликую свой код