在WinForms / WPF中实现“记住我”复选框的最佳方法

时间:2009-08-07 13:00:01

标签: wpf winforms login persistence

我想在我的WPF应用程序的登录表单中添加一个“记住我”复选框。最好的方法是什么?

目前,该应用程序通过websevice调用登录,该调用返回用于后续调用的经过身份验证的令牌。我应该简单地双向加密并将此令牌存储在文件系统中的某个位置吗?

3 个答案:

答案 0 :(得分:3)

您也可以将其存储在Isolated Storage中,或在应用程序的设置中创建用户设置。

编辑:Oren建议使用DPAPI来保护信息是好的,但它没有存储任何内容:

  

要记住的重要一点是DPAPI仅对数据应用加密保护。它不存储任何受保护的数据;因此,调用DPAPI的应用程序必须实现自己的受保护数据存储。

答案 1 :(得分:3)

答案 2 :(得分:0)

我用谷歌搜索了另一个解决方案:

右键单击您的项目->属性->设置

添加您需要存储在客户端计算机上的变量。

例如:

Name Type Scope Value

UserName String User
Password String User

然后,例如,您要保存登录按钮单击时的首选项:

If(CheckboxRemember.checked)
{
    YourProjectNamespace.Properties.Settings.Default.UserName = TextBoxUserName.Text;
    YourProjectNamespace.Properties.Settings.Default.Password = TextPassword.Text;
    YourProjectNamespace.Properties.Settings.Default.Save();
}

以相同的方式,在窗口加载或应用程序启动时访问以下值:

TextBoxUserName.Text = YourProjectNamespace.Properties.Settings.Default.UserName;
TextPassword.Text = YourProjectNamespace.Properties.Settings.Default.Password;