我构建了一个小型网站,并且只有一个管理员,所以在管理面板中我要求输入一个我没有从数据库中检索的值的密码,我只是在代码背后的函数中硬编码,我知道这是错的,虽然我不知道为什么。
那么在web.config中编写硬编码是正确的吗?怎么样?
答案 0 :(得分:51)
就错误而言......问题在于,如果您需要更改它,并且在代码隐藏中硬编码,则需要重新编译,重新发布,重新部署您的网站,而对网络进行更改.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的部分
答案 1 :(得分:3)
Eoin对小项目的建议没有错,但如果你的项目有一天可能需要超过1个管理员和不同类型的用户角色。我会接受点击并设置ASP会员资格。
http://msdn.microsoft.com/en-us/library/ms998347.aspx
您可以使用它集成到Windows或使用数据库,它不是很难设置。特别是如果您在IIS中使用内置配置工具。