24

我建立了一个小网站,只有一个管理员,所以在管理面板中,我要求输入一个我没有从数据库中检索到的值的密码,我只是在后面的代码中将它硬编码在函数中,我知道这是错误的,虽然我不知道为什么。

那么在 web.config 中对其进行硬编码是正确的做法吗?如何?

4

2 回答 2

56

至于它是错误的......问题是如果您需要更改它,并且它在您的代码隐藏中硬编码,您需要重新编译,重新发布,重新部署您的网站,而对 web.config 的更改可以不这样做就可以完成。

您可以像这样将它放在 web.config 中的 AppSetting 中。

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

并使用此代码检索它

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

虽然我会看看这个。

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

它涵盖了 web.config 的加密部分

于 2009-04-24T08:07:53.713 回答
3

Eoin 对小型项目的建议没有错,但是如果您的项目有一天可能需要超过 1 个管理员和不同类型的用户角色。我会接受打击并设置 ASP 会员资格。

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

您可以将其集成到 Windows 中或使用数据库,并且设置起来并不难。特别是如果您使用 IIS 中的内置配置工具。

于 2009-04-24T08:46:25.960 回答