C# 存储网站登录凭据的最佳方法

C# 存储网站登录凭据的最佳方法,c#,asp.net,forms-authentication,C#,Asp.net,Forms Authentication,我在ASP.NET3.5中创建了一个站点&我只有2个或3个用户登录ID可以登录到该站点 保存这些登录详细信息的最佳方法是什么?以下哪种方法或其他方法最合适 使用表单身份验证,并在web.config中保存凭据(用户名和密码) 在目录中创建文本文件并对其进行修改 从安全和维护的角度来看,哪种方法最好?还有哪些方法适合ASP.NET登录系统?使用默认的ASP.NET。该链接将向您展示如何使用它并对其进行配置。使用ASP.NET,您可以使用一些内置/提供的身份验证提供程序,这些提供程序允许您管理数据库

我在ASP.NET3.5中创建了一个站点&我只有2个或3个用户登录ID可以登录到该站点

保存这些登录详细信息的最佳方法是什么?以下哪种方法或其他方法最合适

  • 使用表单身份验证,并在web.config中保存凭据(用户名和密码)
  • 在目录中创建文本文件并对其进行修改

  • 从安全和维护的角度来看,哪种方法最好?还有哪些方法适合ASP.NET登录系统?

    使用默认的ASP.NET。该链接将向您展示如何使用它并对其进行配置。

    使用ASP.NET,您可以使用一些内置/提供的身份验证提供程序,这些提供程序允许您管理数据库中的用户,并且默认情况下,它使用适当的指导原则,如哈希密码等。

    您可以使用。即使您的用户不多,它也会为您处理所有身份验证详细信息。

    您已经有数据库了吗?如果是这样,请使用表单身份验证,就像大家说的那样。集成到当前数据库非常简单(假设它是sql server—我不知道其他数据库)。我意识到,由于预算或其他原因,为2或3个用户添加DB并不总是一个选项,因此您可以使用表单身份验证并将用户存储在web.config中。我以前也做过,很简单

    您的web.config将如下所示:

    <authentication mode="Forms">
        <forms loginUrl="Login.aspx">
            <credentials passwordFormat="Clear">
                <user name="myUser" password="password" />
            </credentials>
        </forms>
    </authentication>
    

    当然,这并不是最安全的方法,您可能至少想看看web.config中的凭据加密,但它很简单,在数据库不可用时也能工作。

    不要使用文本文件。IIS将提供给任何人谁是寻找它。我也会推荐该解决方案。如果用户不定期更改,则最佳时间速度/增益关系
        protected void Login1_Authenticate(object sender, System.Web.UI.WebControls.AuthenticateEventArgs e)
        {
            string UserName = Login1.UserName;
            string Password = Login1.Password;
    
            if (FormsAuthentication.Authenticate(UserName, Password))
            {
                e.Authenticated = true;
            }
            else
            {
                e.Authenticated = false;
            }
        }