Как пройти аутентификацию в Active Directory с помощью приложения iOS

#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. Как только я получу эту работу, я опубликую свой код