Sto scrivendo del codice per utilizzare un componente di terze parti e ho bisogno di fornire un oggetto che implementa ICredentials quando inizio a usarlo.Come si ottengono le credenziali (NetworkCredential) dell'utente attualmente connesso?
Se scrivo quanto segue ...
var credential = new NetworkCredential("MyUsername", "MyPassword");
... e passare "credenziale", va bene. Ma vorrei passare le credenziali dell'utente attuale (è un servizio di Windows, quindi viene eseguito come utente specificato).
Ho provato entrambi dei seguenti, ma non sembrano lavorare (o restituire nulla):
NetworkCredential credential = System.Net.CredentialCache.DefaultCredentials;
NetworkCredential credential = CredentialCache.DefaultNetworkCredentials;
Qualcuno può suggerire come acquisire un oggetto approriate, che rappresenta le credenziali del nome utente il servizio è in esecuzione sotto?
Grazie, Ross
See http://stackoverflow.com/questions/3166150/how-do-i-tell-a-wcf-client-proxy-class-to-use-windows-authentication-and-the-wind~~V~~singular~~3rd potrebbe essere necessario defaultProxy> –
ho lo stesso problema con uno scenario client WCF, vedere questa discussione http://stackoverflow.com/questions/ 3166150/how-do-i-tell-a-wcf-client-proxy-class-to-use-windows-authentication-and-the-wind – Mahol25
CredentialCache dovrebbe funzionare. Puoi controllare WindowsIdentity.GetCurrent e vedere che c'è davvero un utente registrato? –