Лучший способ реализовать флажок "Запомнить меня" в WinForms / WPF

Я хочу добавить флажок "Запомнить меня" в форму входа в мое приложение WPF. Какой лучший способ сделать это?

В настоящее время приложение входит в систему через веб-сервисный вызов, который возвращает аутентифицированный токен, который он использует для последующих вызовов. Должен ли я просто двусторонним шифрованием и хранить этот токен где-нибудь в файловой системе?

2 ответа

Решение

Вы также можете сохранить его в изолированном хранилище или создать настройку пользователя в настройках своего приложения.

Редактировать: предложение Орен об использовании DPAPI для защиты информации хорошо, но ничего не хранит:

Важно помнить, что DPAPI просто применяет криптографическую защиту данных. Он не хранит никаких защищенных данных; поэтому приложения, вызывающие DPAPI, должны реализовать собственное хранилище защищенных данных.

Используйте DPAPI. Смотрите также Как хранить пароли в приложении Winforms?,

Я искал другое решение:

Щелкните правой кнопкой мыши свой проект -> Свойства -> Настройка.

Добавьте свою переменную, которую нужно сохранить на клиентской машине.

Например:

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;
Другие вопросы по тегам