我正在開發一個應用程序,它可以更改sql服務器用戶的密碼,如果提供了sql數據庫管理員用戶名和密碼如何使用asp.net訪問和修改託管在不同服務器上的項目的Web配置文件
這裏是代碼
string Connt = ConfigurationManager.ConnectionStrings["DBConnectionString"].ToString();
SqlConnection sqlConnection1 = new SqlConnection(Connt);
SqlCommand cmd = new SqlCommand();
SqlDataReader reader;
string newone = "pwd";
string username = "username";
cmd.CommandText = "alter login " + username + " with password = '" + newone + "' old_password= '" + old + "' ";
cmd.CommandType = CommandType.Text;
cmd.Connection = sqlConnection1;
sqlConnection1.Open();
cmd.ExecuteNonQuery();
sqlConnection1.Close();
那麼我需要在使用同一個用戶的應用程序的Web配置文件中的連接字符串中更改此SQL用戶密碼。
string path = "path";
ExeConfigurationFileMap map = new ExeConfigurationFileMap();
map.ExeConfigFilename = path;
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);
string connStr_App = config.AppSettings.Settings["ConnectionString"].Value;
config.AppSettings.Settings.Remove("ConnectionString");
config.AppSettings.Settings.Add("ConnectionString", "conectionstringwithnewpassword");
config.Save(ConfigurationSaveMode.Modified);
到目前爲止它的工作正常。 但問題是,我只能更改託管在同一臺計算機上的應用程序的Web配置文件。
我需要更改託管在不同服務器上的應用程序的Web配置文件,假設我有管理員密碼和用戶名。
此鏈接似乎有用 http://msdn.microsoft.com/en-us/library/ms228054%28v=vs.100%29.aspx 但我的應用程序需要在遠程server.How管理權限才能達到呢?現在它的顯示訪問被拒絕(來自HRESULT的異常:0x80070005(E_ACCESSDENIED))消息。 順便說一下,我激活了服務器上的遠程配置組件。