public ReadOnlyCollection <NetworkCredential> GetCredentials(string targetUri) { var creds = WinCredentialsProxy.LoadCredentials(targetUri); List <NetworkCredential> retVal = new List <NetworkCredential>(); if (creds.Count > 0) { foreach (var cred in creds) { switch (cred.Type) { case CredentialType.DomainPassword: case CredentialType.DomainVisiblePassword: DomainUser dUser = new DomainUser(creds[0].UserName); retVal.Add(new System.Net.NetworkCredential( dUser.UserName, WinCredentialsProxy.GetPlaintextPassword(creds[0]), dUser.Domain)); break; default: retVal.Add(new System.Net.NetworkCredential( creds[0].UserName, WinCredentialsProxy.GetPlaintextPassword(creds[0]))); break; } } } return(retVal.AsReadOnly()); }
public void Save() { m_migrationSource.ServerUrl = SelectedDatabase.DatabaseSetName; m_migrationSource.SourceIdentifier = SelectedDatabase.DatabaseName; m_migrationSource.FriendlyName = string.Format("{0}@{1}", m_migrationSource.ServerUrl, m_migrationSource.SourceIdentifier); m_migrationSource.ServerIdentifier = m_migrationSource.FriendlyName; m_migrationSource.CustomSettings.CustomSetting.Clear(); SaveCustomSetting(ClearQuestConstants.UserNameKey, UserName); if (CQLoginCredentialManagerFactory.OSIsNotSupported()) // windows XP does not support stored credentials { SaveCustomSetting(ClearQuestConstants.PasswordKey, m_password); SaveCustomSetting(ClearQuestConstants.LoginCredentialSettingKey, ClearQuestConstants.LoginCredentialSettingUseTextUsernamePasswordPairInConfig); m_migrationSource.StoredCredential.CredentialString = null; } else { string credentialString = m_migrationSource.FriendlyName; if (WinCredentialsProxy.CredentialExists(credentialString, WinCredentials.CredentialType.Generic)) { WinCredentialsProxy.DeleteCredential(credentialString); } WinCredentialsProxy.AddGeneralCredential(credentialString, UserName, m_password, WinCredentials.CredentialPersistence.Session, string.Empty); m_migrationSource.StoredCredential.CredentialString = credentialString; } }
public void Save() { m_migrationSource.ServerUrl = SelectedDatabase.DatabaseSetName; m_migrationSource.SourceIdentifier = SelectedDatabase.DatabaseName; m_migrationSource.FriendlyName = string.Format("{0}@{1}", m_migrationSource.ServerUrl, m_migrationSource.SourceIdentifier); m_migrationSource.ServerIdentifier = m_migrationSource.FriendlyName; m_migrationSource.CustomSettings.CustomSetting.Clear(); SaveCustomSetting(ClearQuestConstants.UserNameKey, UserName); if (CQLoginCredentialManagerFactory.OSIsNotSupported()) // windows XP does not support stored credentials { SaveCustomSetting(ClearQuestConstants.PasswordKey, m_password); SaveCustomSetting(ClearQuestConstants.LoginCredentialSettingKey, ClearQuestConstants.LoginCredentialSettingUseTextUsernamePasswordPairInConfig); m_migrationSource.StoredCredential.CredentialString = null; TraceManager.TraceInformation("ClearQuestConnectDialog: Skipped adding credentials to the credential store because the operating system does not support it"); } else { // todo: move this to the adapter as a helper method string credentialString = ClearQuestConstants.CqConnectionStringUrlPrefix + m_migrationSource.FriendlyName; if (WinCredentialsProxy.CredentialExists(credentialString, WinCredentials.CredentialType.Generic)) { WinCredentialsProxy.DeleteCredential(credentialString); } WinCredentialsProxy.AddGeneralCredential(credentialString, UserName, m_password, WinCredentials.CredentialPersistence.LocalComputer, string.Empty); m_migrationSource.StoredCredential.CredentialString = credentialString; TraceManager.TraceInformation("ClearQuestConnectDialog: Successfully added credentials to the credential store with the key '{0}'", credentialString); } }
public void AddCredential(Uri uriPrefix, CredentialType credType, NetworkCredential cred) { if (null == uriPrefix) { throw new ArgumentNullException("uriPrefix"); } if (null == cred) { throw new ArgumentNullException("cred"); } // todo: we are not saving any description/comments for the creds we save in the // credential store. we may want to add a comment WinCredentialsProxy.AddCredential( CreateWinCredentialsTargetName(uriPrefix), credType, cred.UserName, cred.Password, CredentialPersistence.Session, string.Empty); }
public NetworkCredential GetCredential(Uri uriPrefix, CredentialType credType) { var creds = WinCredentialsProxy.LoadCredentials(CreateWinCredentialsTargetName(uriPrefix)); NetworkCredential retVal = null; if (creds.Count > 0) { foreach (var cred in creds) { if (cred.Type == credType) { retVal = new System.Net.NetworkCredential( creds[0].UserName, WinCredentialsProxy.GetPlaintextPassword(creds[0])); break; } } } return(retVal); }
public void DeleteCredential(Uri uriPrefix, CredentialType credType) { WinCredentialsProxy.DeleteCredential(CreateWinCredentialsTargetName(uriPrefix), credType); }
public void DeleteCredential(Uri uriPrefix) { WinCredentialsProxy.DeleteCredential(CreateWinCredentialsTargetName(uriPrefix)); }
public bool IsCredentialStored(Uri uriPrefix, CredentialType credType) { return(WinCredentialsProxy.CredentialExists( CreateWinCredentialsTargetName(uriPrefix), credType)); }