如何记住登录表单的用户名或密码

时间:2012-09-21 23:29:09

标签: c# .net login remember-me autofill

我在C#Windows窗体应用程序中创建了一个示例登录表单,而我想要的是在我的登录表单中添加记住用户名或密码功能。

我只需要提供我的用户名,因为它会记住我的密码并自动填写密码字段(例如gmail auth)。

我怎么能实现这个目标?

这是我的登录表单应用: - http://i50.tinypic.com/2pzxjb7.jpg

5 个答案:

答案 0 :(得分:7)

我会使用.Net's built-in settings API

您可以使用可自定义的范围定义多个强类型设置;用户或应用程序。 Visual Studio中有一个接口。如果打开项目属性,则可以选择“设置”选项卡。如果项目中没有设置文件,可以单击此处的链接以使Visual Studio创建一个。获得一个后,您可以输入应用程序设置的名称,类型,范围和默认值。

完成所有设置后,您将在Settings命名空间下拥有一个名为<ProjectName>.Properties的类。然后,您可以使用Settings.Default静态属性访问默认设置,更改其值,并调用Save方法来保留它们。

当您启动应用程序时,会加载持久设置,您可以通过编程方式将它们输入到用户界面中。

如果所有这些都是针对您的场景的过度杀戮,您可以手动读取/写入相对于用户的配置文件文件夹的定义位置的文件。

答案 1 :(得分:3)

我用它解决了。

在winforms项目中右键单击并转到属性,选择设置并添加名称以存储数据(例如userName和passUser)

因此,在登录表单中添加一个复选框,记住我。

在按钮登录中检查复选框是否为真,保存用户并传递

        if (checkRemember.Checked)
        {
            Properties.Settings.Default.userName = textBoxUserName.Text;
            Properties.Settings.Default.passUser = textBoxUserPass.Text;
            Properties.Settings.Default.Save();
        }

在您加载登录表单时添加此

        if (Properties.Settings.Default.userName != string.Empty)
        {
            textBoxUserName.Text = Properties.Settings.Default.userName;
            textBoxUserPass.Text = Properties.Settings.Default.passUser;
        }

问候。

答案 2 :(得分:1)

您可以尝试使用基于Cookie的记住密码

检查以下参考文献:

https://www.aspforums.net/Threads/130530/Save-Username-and-Password-in-Cookies-using-C-in-ASPNet/

答案 3 :(得分:0)

您可以将其存储在注册表,数据库或应用程序设置中。但我不确定你想要多么安全。

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

答案 4 :(得分:-1)

if (checkRemember.Checked)
{
    Properties.Settings.Default.userName = textBoxUserName.Text;
    Properties.Settings.Default.passUser = textBoxUserPass.Text;
    Properties.Settings.Default.Save();
}

if (Properties.Settings.Default.userName != string.Empty)
{
   textBoxUserName.Text = Properties.Settings.Default.userName;
   textBoxUserPass.Text = Properties.Settings.Default.passUser;
}