2013-04-27 9 views
38

Czy istnieje prosty sposób przetestowania referencji użytkownika względem instancji LDAP? Wiem, jak napisać program w języku Java, który zajmie "Nazwę użytkownika" i hasło, i sprawdzi ją względem instancji LDAP. Czy jest jednak jakiś łatwiejszy sposób? Specjalnie metoda, która nie tylko uwierzytelnia użytkownika, ale także wyświetla wszystkie role użytkownika.Łatwy sposób przetestowania referencji użytkownika LDAP

Odpowiedz

1

Uwierzytelnianie odbywa się za pomocą prostej komendy ldap_bind, która pobiera nazwę wyróżniającą użytkownika i hasło. Użytkownik jest uwierzytelniany, gdy bind się powiedzie. Zwykle otrzymasz nazwę wyróżniającą dla użytkownika za pośrednictwem ldap_search na podstawie identyfikatora użytkownika lub adresu e-mail.

Role użytkowników to coś innego, ponieważ jest to ldap_search i zależy od tego, gdzie i jak role są przechowywane w ldap. Ale możesz być w stanie odzyskać role podczas lap_search używanego do znalezienia nazwy DN użytkownika.

+0

Dziękuję za odpowiedź. Czego naprawdę potrzebuję, to narzędzie, w którym mogę wpisać nazwę użytkownika i hasło, a narzędzie przetestuje i zobaczy, czy użytkownik może zostać uwierzytelniony za pomocą tych poświadczeń. Jest to bardzo łatwe narzędzie do opracowania; więc miałem nadzieję, że istnieje już takie narzędzie. – user1888243

+0

Narzędzie nazywa się ldap_bind. – EJP

+0

Unix/Linux oferuje "ldapsearch" (głównie z openLDAP), z odpowiednimi opcjami, których nie widzisz hasła w "historii" listy procesów –

11

Użyj do uwierzytelnienia numeru ldapsearch. Wersja opends może być stosowany w sposób następujący:

ldapsearch --hostname hostname --port port \ 
    --bindDN userdn --bindPassword password \ 
    --baseDN '' --searchScope base 'objectClass=*' 1.1 
+0

W ten sposób hasło może być wyświetlane na liście procesów w postaci zwykłego tekstu? – Kiril

+2

@Kiril Myślę, że zastąpienie '--bindPasswrd password' z' -W' (monit o hasło) naprawiłoby problem. – ibic

8

Powinieneś sprawdzić Softerra za LDAP Browser (darmową wersję Administratora LDAP), który można pobrać tutaj:

http://www.ldapbrowser.com/download.htm

I Użyłem tej aplikacji szeroko dla całego mojego rozwoju Active Directory, OpenLDAP i Novell eDirectory, i było to absolutnie nieocenione.

Jeśli chcesz tylko sprawdzić, czy działa kombinacja nazwa użytkownika \ hasło, wystarczy utworzyć "Profil" dla serwera LDAP, a następnie wprowadzić dane uwierzytelniające podczas kroku 3 procesu tworzenia:

enter image description here

klikając „Finish”, można skutecznie wydać wiążą się z serwerem przy użyciu poświadczeń, mechanizm uwierzytelniania oraz hasło już określona. Zostaniesz zapytany, czy powiązanie nie działa.

+1

To działa ** nie **. Sprawdzenie tylko, czy określony użytkownik ma uprawnienia do wyświetlania informacji o użytkownikach z LDAP, które na przykład nie są przydzielane przez Active Directory. W takim przypadku uwierzytelnianie może się nie powieść, gdy dane logowania użytkownika są prawidłowe. – Sebazzz

+0

Nie.To polecenie wywołuje pełne powiązanie katalogu, tak jak w przypadku standardowej próby logowania. Jeśli nie masz uprawnień do przeglądania katalogu podstawowego, zobaczysz pusty ekran. – X3074861X

+0

Świetna odpowiedź! Nie znałem tej aplikacji. Dziękuję bardzo! – ClownCoder

42

ldapwhoami -vvv -h <hostname> -p <port> -D <binddn> -x -w <passwd>, gdzie binddn jest DN od osoby, której jesteś poświadczenia uwierzytelniania.

Po sukcesie (tj. Z prawidłowymi poświadczeniami) otrzymuje się Result: Success (0). W przypadku niepowodzenia otrzymasz ldap_bind: Invalid credentials (49).

Powiązane problemy