C# 为下一次程序启动存储用户凭据

C# 为下一次程序启动存储用户凭据,c#,login,remember-me,C#,Login,Remember Me,这里有个问题。我有一个程序,当它启动时会弹出一个loginForm对话框。现在在这个登录表单上,我添加了一个rememberMe(onthoudMij)按钮。因此,如果用户选择此登录框,关闭程序,然后再次打开,则其用户凭据将已填充 这是我登录按钮的代码 private void loginButton_Click(object sender, EventArgs e) { try { var sr = new System.IO.StreamReader("C:\

这里有个问题。我有一个程序,当它启动时会弹出一个loginForm对话框。现在在这个登录表单上,我添加了一个rememberMe(onthoudMij)按钮。因此,如果用户选择此登录框,关闭程序,然后再次打开,则其用户凭据将已填充

这是我登录按钮的代码

private void loginButton_Click(object sender, EventArgs e)
{
    try
    {
        var sr = new System.IO.StreamReader("C:\\" + inlogNaamTextbox.Text + "\\Login.txt");
        gebruikersnaam = sr.ReadLine();
        passwoord = sr.ReadLine();
        sr.Close();

        if (gebruikersnaam == inlogNaamTextbox.Text && passwoord == inlogPasswoordTextbox.Text)
        {
            classUsername.name = inlogNaamTextbox.Text;

            MessageBox.Show("Je bent nu ingelogd!", "Succes!");
            this.Dispose();
        }
        else
        {
            MessageBox.Show("Gebruikersnaam of wachtwoord fout!", "Fout!");
        }
    }
    catch (System.IO.DirectoryNotFoundException ex)
    {
        MessageBox.Show("De gebruiker bestaat niet!", "Fout!");
    }
}
现在我的问题是:

我在网上搜索了关于记忆我实现的选项,但它们总是使用SQL数据库等。我只有一个登录名,它将用户名和密码存储在txt文件中,正如您在代码中看到的那样

问题是..


所以不,我的问题是;如何实现“记住我”复选框?我已经知道我应该使用System.Net,但是如果没有sql数据库或类似的东西,还有什么其他方法可以让它工作呢?

如果您的问题是保存部分,您可以使用类似3DES加密的方法来保存用户名和密码

您可以使用当前代码并在本文中添加类似的内容来加密和解密密码:

如果问题只是如何读取/保存

我会创建一个文本,类似这样:

private void CallOnFormLoad()
{
    string[] allLines = File.ReadAllLines(@"C:\passwordfile.txt");

    if (allLines.Length > 1)
    {
        // at least one 2 lines:
        inlogNaamTextbox.Text = allLines[0];
        inlogPasswoordTextbox.Text = allLines[1];
    }
}

private void loginButton_Click(object sender, EventArgs e)
{
    try
    {
        var sr = new System.IO.StreamReader("C:\\" + inlogNaamTextbox.Text + "\\Login.txt");
        gebruikersnaam = sr.ReadLine();
        passwoord = sr.ReadLine();
        sr.Close();

        if (gebruikersnaam == inlogNaamTextbox.Text && passwoord == inlogPasswoordTextbox.Text)
        {
            classUsername.name = inlogNaamTextbox.Text;

            MessageBox.Show("Je bent nu ingelogd!", "Succes!");

            File.WriteAllLines(@"C:\passwordfile.txt", string.Format("{0}\n{1}", inlogNaamTextbox.Text, inlogPasswoordTextbox.Text))

            // Don't call Dispose!
            // this.Dispose();
        }
        else
        {
            MessageBox.Show("Gebruikersnaam of wachtwoord fout!", "Fout!");
        }
    }
    catch (System.IO.DirectoryNotFoundException ex)
    {
        MessageBox.Show("De gebruiker bestaat niet!", "Fout!");
    }
}

您当前的代码有什么问题?在我看来,这个问题与您的代码完全无关。不,当前的代码很好,工作非常完美。我只是想说明我不使用任何sql数据库来存储我的登录详细信息。我只是将它们写入txt文件。现在我想知道如何在loginform上实现一个“记住我”复选框。我的表单上已经有了复选框,但是里面还没有代码,因为我不知道怎么做。我不需要加密密码。这只是一个每个人都可以看到用户凭据的项目。所以安全性不重要。我只想在下次程序从同一台PC启动时记住用户凭据。所以我猜代码将以if(checkbox=checked)开头。。。差不多that@RawMeat:请参阅更新。在窗体的构造函数中调用方法
CallOnFormLoad
。该死,我以为它能工作,但现在已经不工作了。我的visual studio说“文件”名称不存在。我应该在哪个文件或名称中更改它?谢谢你advance@RawMeat:您是否创建了passwordfile.txt文件?也许你需要把它改到一个你可以写的地方。不,但我的意思是,给出的错误是“文件”。writeAllines(因此单词file)不存在?