private static ICredentials RebuildCredentials(ICredentials credentials, string redirectUrl) { CredentialCache cc = credentials as CredentialCache; if (cc != null) { IEnumerator iterate = cc.GetEnumerator(); while (iterate.MoveNext()) { NetworkCredential c = iterate.Current as NetworkCredential; if (c != null) { // we just take the first one to recreate string domainUser = c.Domain; if (!string.IsNullOrEmpty(domainUser)) { domainUser = domainUser + @"\"; } domainUser = String.Concat(domainUser, c.UserName); return(FeedSource.CreateCredentialsFrom(redirectUrl, domainUser, c.Password)); } } } // give up/forward original credentials: return(credentials); }
public static void GetEnumerator_ResetIndexGetCurrent_Invalid(CredentialCache cc) { IEnumerator enumerator = cc.GetEnumerator(); enumerator.Reset(); Assert.Throws <InvalidOperationException>(() => enumerator.Current); }
public static void GetEnumerator_MoveNextIndex_Invalid() { CredentialCache cc = new CredentialCache(); IEnumerator enumerator = cc.GetEnumerator(); enumerator.MoveNext(); Assert.Throws <InvalidOperationException>(() => enumerator.Current); }
public static void GetEnumerator_MoveNextSynchronization_Invalid() { //An InvalidOperationException is thrown when moving the enumerator //when a credential is added to the cache after getting the enumerator CredentialCache cc = HostPortAuthenticationTypeCredentialCache(); IEnumerator enumerator = cc.GetEnumerator(); cc.Add(uriPrefix1, authenticationType1, credential1); Assert.Throws <InvalidOperationException>(() => enumerator.MoveNext()); }
public static void GetEnumerator_Enumerate_Success() { CredentialCache cc = HostPortAuthenticationTypeCredentialCache(); IEnumerator enumerator = cc.GetEnumerator(); Assert.NotNull(enumerator); while (enumerator.MoveNext()) { object item = enumerator.Current; Assert.NotNull(item); } }
// <Snippet1> public static void GetPage(string url, string userName, string password, string domainName) { try { CredentialCache myCredentialCache = new CredentialCache(); // Dummy Credentials used here. myCredentialCache.Add(new Uri("http://microsoft.com/"), "Basic", new NetworkCredential("user1", "passwd1", "domain1")); myCredentialCache.Add(new Uri("http://msdn.com/"), "Basic", new NetworkCredential("user2", "passwd2", "domain2")); myCredentialCache.Add(new Uri(url), "Basic", new NetworkCredential(userName, password, domainName)); // Creates a webrequest with the specified url. WebRequest myWebRequest = WebRequest.Create(url); myWebRequest.Credentials = myCredentialCache; IEnumerator listCredentials = myCredentialCache.GetEnumerator(); Console.WriteLine("\nDisplaying credentials stored in CredentialCache: "); while (listCredentials.MoveNext()) { Display((NetworkCredential)listCredentials.Current); } Console.WriteLine("\nNow Displaying the same using 'foreach' : "); // Can use foreach with CredentialCache(Since GetEnumerator function of IEnumerable has been implemented by 'CredentialCache' class. foreach (NetworkCredential credential in myCredentialCache) { Display(credential); } // Send the request and waits for response. WebResponse myWebResponse = myWebRequest.GetResponse(); // Process response here. Console.WriteLine("\nResponse Received."); myWebResponse.Close(); } catch (WebException e) { if (e.Response != null) { Console.WriteLine("\r\nFailed to obtain a response. The following error occurred : {0}", ((HttpWebResponse)(e.Response)).StatusDescription); } else { Console.WriteLine("\r\nFailed to obtain a response. The following error occurred : {0}", e.Status); } } catch (Exception e) { Console.WriteLine("\nThe following exception was raised : {0}", e.Message); } }
public static void GetEnumerator_MoveNextSynchronization_Invalid(CredentialCache cc, bool addUri) { //An InvalidOperationException is thrown when moving the enumerator //when a credential is added to the cache after getting the enumerator IEnumerator enumerator = cc.GetEnumerator(); if (addUri) { cc.Add(new Uri("http://whatever:80"), authenticationType1, credential1); } else { cc.Add("whatever", 80, authenticationType1, credential1); } Assert.Throws <InvalidOperationException>(() => enumerator.MoveNext()); }
public static void GetEnumerator_Enumerate_Success(CredentialCache cc, int count) { IEnumerator enumerator = cc.GetEnumerator(); Assert.NotNull(enumerator); for (int iterations = 0; iterations < 2; iterations++) { Assert.Throws <InvalidOperationException>(() => enumerator.Current); for (int i = 0; i < count; i++) { Assert.True(enumerator.MoveNext()); Assert.NotNull(enumerator.Current); } Assert.False(enumerator.MoveNext()); Assert.Throws <InvalidOperationException>(() => enumerator.Current); enumerator.Reset(); } }
/// <inheritdoc /> public IEnumerator GetEnumerator() { return(_cache.GetEnumerator()); }
public static void GetEnumerator_MoveNextIndex_Invalid() { CredentialCache cc = new CredentialCache(); IEnumerator enumerator = cc.GetEnumerator(); enumerator.MoveNext(); Assert.Throws<InvalidOperationException>(() => enumerator.Current); }
public static void GetEnumerator_ResetIndexGetCurrent_Invalid(CredentialCache cc) { IEnumerator enumerator = cc.GetEnumerator(); enumerator.Reset(); Assert.Throws<InvalidOperationException>(() => enumerator.Current); }
public static void GetEnumerator_CurrentSynchronization_Invalid(CredentialCache cc, bool addUri) { //An InvalidOperationException is thrown when getting the current enumerated object //when a credential is added to the cache after getting the enumerator IEnumerator enumerator = cc.GetEnumerator(); enumerator.MoveNext(); if (addUri) { cc.Add(new Uri("http://whatever:80"), authenticationType1, credential1); } else { cc.Add("whatever", 80, authenticationType1, credential1); } Assert.Throws<InvalidOperationException>(() => enumerator.Current); }
public static void GetEnumerator_Enumerate_Success(CredentialCache cc, int count) { IEnumerator enumerator = cc.GetEnumerator(); Assert.NotNull(enumerator); for (int iterations = 0; iterations < 2; iterations++) { Assert.Throws<InvalidOperationException>(() => enumerator.Current); for (int i = 0; i < count; i++) { Assert.True(enumerator.MoveNext()); Assert.NotNull(enumerator.Current); } Assert.False(enumerator.MoveNext()); Assert.Throws<InvalidOperationException>(() => enumerator.Current); enumerator.Reset(); } }