2017-02-28 2 views
0

Ich habe connectionString Abschnitt in web.config mit ASPNET_REGIIS erfolgreich verschlüsselt. aber ich habe dies auf meinem lokalen Rechner getan.ASPNET_REGIIS Verschlüsselung bei Shared Hosting

Als ich versuchte, Website auf einem Shared-Hosting-Server zu veröffentlichen, erhalte ich einen Konfigurationsdateifehler.

Gibt es eine Möglichkeit, ich könnte auf einem Shared-Hosting-Server mit ASPNET_REGIIS ohne Zugriff auf den physischen Server-Maschine verschlüsseln?

Danke.

+0

In den meisten Fällen können Sie nicht und auf dem Service-Provider vertrauen auf eigene Faust tun. Rufen Sie sie an. –

+0

Sie haben mir vorgeschlagen, auf einen virtuellen Server zu aktualisieren. Ist es überhaupt möglich, Visual Studio auf einem virtuellen Server zu installieren? –

Antwort

0

ich eine Lösung gefunden, vielleicht nicht die beste sein, aber ich fühle mich mit ihm in Ordnung ..

ich web.config einmal verschlüsselt, die erste Funktion. Ich entschlüssele es bei jedem Anruf.

public static void EncryptConnString() 
{ 
    Configuration config = WebConfigurationManager.OpenWebConfiguration("~"); 
    ConfigurationSection section = config.GetSection("connectionStrings"); 

    if (!section.SectionInformation.IsProtected) 
    { 
     section.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider"); 
     config.Save(); 
    } 
} 

public static MySqlConnection DecryptConnString() 
{ 
    MySqlConnection conn = new MySqlConnection(); 
    Configuration config = WebConfigurationManager.OpenWebConfiguration("~"); 
    ConfigurationSection section = config.GetSection("connectionStrings"); 
    if (section.SectionInformation.IsProtected) 
    { 
     section.SectionInformation.UnprotectSection(); 
     conn = new MySqlConnection(ConfigurationManager.ConnectionStrings["DatabaseName"].ConnectionString); 
     return conn; 
    } 
    else 
     return null; 
} 

(mit MySql)

Verwandte Themen