Próbuję wywołać usługę sieciową z aplikacji konsoli i muszę dostarczyć klientowi obiekt System.Net.NetworkCredential
.
Czy jest możliwe utworzenie obiektu NetworkCredential
dla użytkownika, który uruchomił aplikację bez pytania o nazwę użytkownika/hasło?Uzyskiwanie NetworkCredential dla bieżącego użytkownika (C#)
Odpowiedz
Jeśli wywoływana usługa sieci Web korzysta z zabezpieczeń zintegrowanych z systemem Windows, utworzenie NetworkCredential
z bieżącego WindowsIdentity
powinno wystarczyć do umożliwienia serwisowi WWW korzystania z bieżącego logowania użytkowników. Jeśli jednak usługa internetowa używa innego modelu zabezpieczeń, nie ma sposobu na wyodrębnienie hasła użytkownika z bieżącej tożsamości ... co samo w sobie byłoby niebezpieczne, pozwalając twórcy wykraść hasła użytkowników . Najprawdopodobniej będziesz musiał podać swojemu użytkownikowi hasło i zachować je w bezpiecznej pamięci podręcznej, jeśli nie chcesz, aby wielokrotnie je podawały.
Edit: Aby uzyskać poświadczenia dla bieżącej tożsamości, należy użyć następujących:
Uri uri = new Uri("http://tempuri.org/");
ICredentials credentials = CredentialCache.DefaultCredentials;
NetworkCredential credential = credentials.GetCredential(uri, "Basic");
Możesz uzyskać nazwę użytkownika za pomocą System.Security.Principal.WindowsIdentity.GetCurrent(), ale nie ma sposobu na uzyskanie aktualnego hasła użytkownika!
Mam nadzieję, że nie ma sposobu na uzyskanie aktualne hasło użytkownika! :) Chciałbym użyć "bieżących danych uwierzytelniających" jako domyślnych dla usługi internetowej. –
- 1. Uzyskiwanie bieżącego użytkownika, gdy wcieliła
- 2. Lista dla bieżącego użytkownika
- 3. Jak uzyskać poświadczenia (NetworkCredential) aktualnie zalogowanego użytkownika?
- 4. Uzyskiwanie ścieżka pulpitu dla bieżącego użytkownika w OS X
- 5. Uzyskiwanie bieżącego kodu SQL bieżącego kodu CodeIgniter
- 6. Uzyskiwanie bieżącego katalogu w celu C
- 7. Uzyskiwanie języka i języka użytkownika użytkownika
- 8. Uzyskiwanie bieżącego obiektu referencji użytkownika w Powershell bez pytania
- 9. get Kontekst bieżącego użytkownika
- 10. Uzyskiwanie bieżącego numeru wiersza?
- 11. Laravel 5 - walidator dla bieżącego hasła użytkownika
- 12. Uzyskiwanie bieżącego modelu wyjątku GCC
- 13. Jak sprawdzać role bieżącego użytkownika
- 14. NetworkCredential UseDefaultCredentials nie działa
- 15. Uzyskiwanie identyfikatora wątku bieżącego wywołania metody
- 16. Jak zapisać ustawienia użytkownika (nazwa użytkownika, hasło) w aplikacji Windows dla bieżącego zalogowanego użytkownika
- 17. Uzyskiwanie bieżącego adresu URL w przeglądarce Androida
- 18. Uzyskaj nazwę użytkownika Windows bieżącego użytkownika za pomocą php?
- 19. Jak uzyskać rolę dla bieżącego użytkownika z Spring Security
- 20. Jak mogę wyodrębnić obraz konta bieżącego użytkownika?
- 21. Ustawianie domyślnej wartości bieżącego użytkownika w Oracle
- 22. Przekazywanie NetworkCredential do HttpWebRequest w języku C# z ASP.Net Strona
- 23. Ustaw bieżącego użytkownika w asp.net mvc
- 24. Powrót bieżącego użytkownika w laravel 4
- 25. Uzyskiwanie bieżącego identyfikatora użytkownika (a nie nazwy) za pomocą uwierzytelniania formularzy?
- 26. Nie mogę uzyskać bieżącego użytkownika z opiekunem
- 27. Uzyskiwanie uchwyt okna w C#
- 28. Android Google Maps Api V2, uzyskiwanie współrzędnych bieżącego centrum map
- 29. Zwraca bieżącego użytkownika z Django Rest Framework
- 30. Jak poznać rolę bieżącego użytkownika w WordPress?
Jak utworzyć NetworkCredential z WindowsIdentity? –
Dzięki! Właśnie użyłem CredentialCache.DefaultNetworkCredentials. –
Czy metoda GetCredential zwraca poświadczenia z przechowywanych nazw użytkowników i haseł w systemie Windows XP/2003/Vista/2008? Zadałem pokrewne pytanie tutaj: http://stackoverflow.com/questions/994232/how-to-call-a-web-service-using-stored-credentials Jeśli GetCredential pobiera poświadczenia ze sklepu na podstawie uri i rodzaj uwierzytelnienia, będę mieć odpowiedź. Przetestuję to i zgłoś ponownie ... –