Example #1
0
        private void UpdateFromvrDCredentials(vRDConfigurationFileCredentialsFolderCredentials source,
                                              ICredentialSet target)
        {
            var guarded = new GuardedCredential(target, this.persistence.Security);

            guarded.Domain   = source.Domain;
            target.Name      = source.Name;
            guarded.Password = source.Password;
            guarded.UserName = source.UserName;
        }
Example #2
0
        private void SaveCredentials(Dictionary <string, vRDConfigurationFileCredentialsFolderCredentials> credentials)
        {
            ICredentials storedCredentials = this.persistence.Credentials;

            foreach (string guid in credentials.Keys)
            {
                vRDConfigurationFileCredentialsFolderCredentials toImport = credentials[guid];
                //will store the last one if the same credential name
                ICredentialSet destination = storedCredentials[toImport.Name];
                if (destination == null)
                {
                    destination = this.persistence.Factory.CreateCredentialSet();
                    storedCredentials.Add(destination);
                }

                UpdateFromvrDCredentials(toImport, destination);
            }
        }
Example #3
0
        public List <FavoriteConfigurationElement> ImportFavorites(string Filename)
        {
            List <FavoriteConfigurationElement> fav = new List <FavoriteConfigurationElement>();
            InputBoxResult result = InputBox.Show("Password:"******"Enter vRD Password", '*');

            if (result.ReturnCode == System.Windows.Forms.DialogResult.OK)
            {
                byte[] file = File.ReadAllBytes(Filename);
                string xml  = a(file, result.Text).Replace(" encoding=\"utf-16\"", "");
                byte[] data = ASCIIEncoding.Default.GetBytes(xml);
                using (MemoryStream sw = new MemoryStream(data))
                {
                    if (sw.Position > 0 & sw.CanSeek)
                    {
                        sw.Seek(0, SeekOrigin.Begin);
                    }
                    XmlSerializer x       = new XmlSerializer(typeof(vRDConfigurationFile));
                    object        results = x.Deserialize(sw);

                    List <Connection> connections = new List <Connection>();
                    List <vRDConfigurationFileConnectionsFolder> folders = new List <vRDConfigurationFileConnectionsFolder>();
                    Dictionary <string, vRDConfigurationFileCredentialsFolderCredentials> credentials = new Dictionary <string, vRDConfigurationFileCredentialsFolderCredentials>();

                    if (results == null)
                    {
                        return(fav);
                    }
                    vRDConfigurationFile config = (results as vRDConfigurationFile);
                    if (config == null)
                    {
                        return(fav);
                    }
                    //scan in config item
                    foreach (object item in config.Items)
                    {
                        if (item == null)
                        {
                            continue;
                        }
                        if (item is vRDConfigurationFileCredentialsFolder)
                        {
                            //scan in all credentials into a dictionary
                            vRDConfigurationFileCredentialsFolder credentialFolder = (item as vRDConfigurationFileCredentialsFolder);
                            if (credentialFolder != null && credentialFolder.Credentials != null)
                            {
                                foreach (vRDConfigurationFileCredentialsFolderCredentials cred in credentialFolder.Credentials)
                                {
                                    credentials.Add(cred.Guid, cred);
                                }
                            }
                        }
                        else if (item is vRDConfigurationFileCredentialsFolderCredentials)
                        {
                            vRDConfigurationFileCredentialsFolderCredentials cred = (item as vRDConfigurationFileCredentialsFolderCredentials);
                            credentials.Add(cred.Guid, cred);
                        }
                        else if (item is Connection)
                        {
                            //scan in the connections
                            Connection connection = (item as Connection);
                            if (connection != null)
                            {
                                connections.Add(connection);
                            }
                        }
                        else
                        {
                            //scan in recurse folders
                            vRDConfigurationFileConnectionsFolder folder = item as vRDConfigurationFileConnectionsFolder;
                            if (folder != null)
                            {
                                folders.Add(folder);
                            }
                        }
                    }
                    //save credential item to local
                    SaveCredentials(credentials);
                    //save VRD connection to local
                    fav = ConvertVRDConnectionCollectionToLocal(connections.ToArray(), folders.ToArray(), null,
                                                                String.Empty, credentials);
                }
            }
            return(fav);
        }