在web.config中指定用户时的安全性

时间:2009-08-10 00:43:51

标签: asp.net authentication web-config

我正在考虑在我的网络应用中使用FormsAuthentication。在web.config中指定允许使用该应用程序的用户有多安全?

以下是我所说的一个例子:

<authentication mode="Forms">
      <forms loginUrl="TestLogin.aspx" slidingExpiration="true" timeout="30">
        <credentials>
          <user name="test" password="password"></user>
        </credentials>
      </forms>
    </authentication>

2 个答案:

答案 0 :(得分:1)

我认为对于简单的小网站来说这很好。但我肯定会加密密码,如下所示:

<credentials passwordFormat = "SHA1">
    <user name="UserName1" password="SHA1EncryptedPassword1"/>
    <user name="UserName2" password="SHA1EncryptedPassword2"/>
    <user name="UserName3" password="SHA1EncryptedPassword3"/>
</credentials>

有关此内容的更多信息,请访问:http://msdn.microsoft.com/en-us/library/e01fc50a.aspx

答案 1 :(得分:1)

默认情况下,IIS不会提供任何以.config扩展名结尾的文件,因此只要您信任有权管理您的网络服务器的任何人,您就可以了。

以这种方式思考:大多数人已经在他们的web.config文件中存储了数据库连接信息,因此如果您在数据库中定义了用户,那么它距离被攻陷只有一步之遥。

如果您只有少数用户需要处理,并且他们的凭据不会经常更改,那么您应该可以使用web.config来存储您的用户。但是,不以纯文本形式存储用户密码可能是个好主意。如果你是超级偏执者,请查看加密web.config文件的authentication部分:http://www.codeguru.com/csharp/.net/net_asp/miscellaneous/print.php/c13663