2013-05-13 34 views
7

W bieżącym projekcie chciałbym sprawdzić, czy użytkownik jest użytkownikiem, o którym mówi, że jest (brak danych prywatnych). Ten projekt dotyczy głównie harmonogramów na mojej uczelni. Ponieważ mamy serwer LDAP i każdy student ma konto, chciałbym uwierzytelnić się na serwerze LDAP, ale zestaw System.DirectoryServices nie jest dostępny w systemie Windows Phone. Czy ktoś ma pomysł, jak zrealizować logowania oczekiwać obejścia za pośrednictwem usługi sieci Web? WCF nie byłoby opcją, teoretycznie mógłbym wysłać dane do usługi sieciowej i wykonać uwierzytelnianie przez PHP, ale chciałbym zachować tę funkcjonalność w aplikacji.Uwierzytelnianie LDAP w Windows Phone

Z góry dziękuję!

+0

Dlaczego nie stworzysz usługi internetowej w PHP i danych POST z aplikacji? –

+0

Jeśli uwierzytelnianie odbywa się tylko w aplikacji na telefonie, czy to oznacza, że ​​faktyczna usługa danych po stronie serwera jest otwarta i nie ma uwierzytelnienia? Lub, że aplikacja użyje wbudowanych w nią statycznych referencji? Ponieważ jest to wyjątkowo niebezpieczne. Uwierzytelnianie powinno być wykonywane po stronie serwera, z dala od możliwości lub manipulacji. Jeśli jednak będziesz łączyć się z serwerem bazy danych lub podobnym za pomocą poświadczeń dostarczonych przez użytkownika, to po co je w ogóle sprawdzać? Niech serwer to zrobi. – Ashigore

+0

Czy kiedykolwiek miałeś szczęście? Jestem zainteresowany robieniem tego samego. Dzięki –

Odpowiedz

1

Czy próbowałeś używać biblioteki innej firmy, takiej jak Novell (http://www.novell.com/developer/ndk/ldap_libraries_for_c_sharp.html)? Pochodzi z licencją źródłową i MIT.

+0

Tak, próbowałem wielu pakietów NuGet oraz bibliotek Thrala Party. Wszyscy pracowaliby w aplikacji Desktop (WPF/WinForm), ale nie w aplikacji Silverlight (WP). –

+0

To niefortunne. Jednak biblioteka Novella ma źródło i, jak rozumiem, zajmuje się bezpośrednio gniazdami. Być może brakuje niektórych struktur danych, ale naprawienie ich powinno być trywialne, chociaż może to być więcej pracy niż pisanie usługi internetowej. – blazee

1

Usługa sieciowa RESTful zrobiłaby to, co chcesz.

mieć serwer WWW z systemem tomcat/Windows IIS (w zależności od tego, jak chcesz go wdrożyć)

wysłać swoją prośbę do serwisu WWW za pośrednictwem protokołu HTTPS, a następnie mieć serwer WWW połączyć się z serwerem LDAP, aby go zapytać.

+0

To jest sposób, w jaki obecnie to robię, ale chciałem uczynić logowanie po stronie klienta nie poprzez Webservice:/ –

+0

Dlaczego nie uwierzytelniać się w bazie danych. i w zależności od tego, w jakiej Bazie Danych uwierzytelniasz, wierzę, że możesz je uwierzytelnić względem LDAP. – DamianB

+0

Ponieważ nie mam dostępnej bazy danych (oczekiwać na LDAP) Aplikacja, którą właśnie rozwijam, zużywa Webserivce dostarczone przez moją uczelnię. Aby zweryfikować nazwy użytkowników, chciałbym zalogować się przez LDAP. –