powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Mono + LDAP
1 сообщений из 1, страница 1 из 1
Mono + LDAP
    #38385662
PitBull
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем доброго времени суток.

Подскажите, необходимо проверить пользователя и пароль в IPA (LDAP под RHEL).
Пробовал код в этой ведке http://www.sql.ru/forum/967700/autentifikaciya-v-active-directory?hl=ldap , тогда вылетает ошибка - System.NotImplementedException: The requested feature is not implemented. - т.е. эта фича ещё не реализоана.

тогда переключился на Novell

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
    int ldapPort = LdapConnection.DEFAULT_SSL_PORT;
    System.String ldapHost = "ipa-server.ipadev.local";
    System.String loginDN = "uid=jo,cn=users,cn=accounts,dc=ipadev,dc=local";
    System.String password = "12345678";
    System.String objectDN = "cn=jo,cn=groups,cn=accounts,dc=ipadev,dc=local";
    System.String testPassword = "12345678";
    LdapConnection conn = new LdapConnection();

    conn.SecureSocketLayer = true;
    conn.UserDefinedServerCertValidationDelegate += delegate {
      return true;
	};

            try
            {
                conn.Connect(ldapHost, ldapPort);
				conn.Bind(loginDN, password);

                LdapAttribute attr = new LdapAttribute("userPassword", testPassword);

                bool correct = conn.Compare(objectDN, attr);

                System.Console.Out.WriteLine(correct ? "The password is correct." : "The password is incorrect.\n");
                conn.Disconnect();
            }
            catch (LdapException e)
            {
                if (e.ResultCode == LdapException.NO_SUCH_OBJECT)
                {
                    System.Console.Error.WriteLine("Error: No such entry - " + e.ToString());
                }
                else if (e.ResultCode == LdapException.NO_SUCH_ATTRIBUTE)
                {
                    System.Console.Error.WriteLine("Error: No such attribute");
                }
                else
                {
                    System.Console.Error.WriteLine("Error: " + e.ToString());
                }
            }
            catch (System.IO.IOException e)
            {
                System.Console.Out.WriteLine("Error: " + e.ToString());
            }
            System.Environment.Exit(0);



если в Bind password указать - ошибка Error: LdapException: (49) Invalid Credentials
если password не указывать, Bind корректно проходит, но на проверке атрибута - Error: LdapException: (50) Insufficient Access Rights.
Где косяк, подскажите ?

И ещё вопрос, все cn при соединении обязательно указывать ? необходимо вставить этот код в авторизацию, но пользователь будет знать только свой логин/пароль, как в этом случае поступают ?

Заранее всем спс
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Mono + LDAP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]