2009-04-24 27 views
20

Ich habe eine kleine Website erstellt und es wird nur einen Admin geben, also frage ich im Admin-Panel nach einem Passwort mit einem Wert, den ich nicht aus einer Datenbank abrufe Ich habe es in der Funktion im Code hinterher codiert, ich weiß, das ist falsch, obwohl ich nicht weiß warum.Speichern und Abrufen von Werten aus web.config

Also ist es hart, es in web.config richtig zu programmieren? und wie?

Antwort

49

Soweit es falsch ist ... das Problem ist, dass, wenn Sie jemals ändern müssen, und es in Ihrem Codebehind hardcodiert ist, müssen Sie Ihre Website neu kompilieren, erneut veröffentlichen und bereitstellen, während eine Änderung der web.config kann getan werden, ohne dies zu tun.

Sie könnten es in eine AppSetting in der web.config wie folgt einfügen.

<appSettings> 
    <add key="AdminPassword" value="ASDF1234" /> 
</appSettings> 

und diesen Code verwenden, um es abzurufen

System.Configuration.ConfigurationManager.AppSettings["AdminPassword"].ToString() 

Obwohl ich einen Blick auf diese haben würde.

http://aspnet.4guysfromrolla.com/articles/021506-1.aspx

Es deckt Abschnitte Ihres web.config

+0

Müssen Sie den Webserver (IIS) neu starten, damit die ** web.config ** wirksam wird? Gibt es einen besseren Weg? –

+0

scheint wie die Lösung, aber warum sollte ich die ol '"Kann Symbol ToString nicht auflösen?" – whyoz

+3

Ich weiß, das ist wirklich alt, aber ... aber die Syntax sollte sein: 'System.Configuration.ConfigurationManager.AppSettings (" AdminPassword "). ToString()' – Jeroen

3

Nichts falsch mit Eoin Vorschlag für kleine Projekte zu verschlüsseln, aber wenn Ihr Projekt mehr als 1 admin und verschiedene Arten von Benutzern Rollen kann einen Tag braucht. Ich würde den Treffer nehmen und die ASP-Mitgliedschaft einrichten.

http://msdn.microsoft.com/en-us/library/ms998347.aspx

können Sie verwenden es in Windows integrieren oder eine Datenbank verwenden, und es ist nicht allzu schwer zu installieren. Vor allem, wenn Sie das integrierte Konfigurationstool in IIS verwenden.

+0

yep. absolut einverstanden. Es lohnt sich auch, den Schlag zu nehmen, weil du weißt, dass du es früher oder später tun musst. –

Verwandte Themen