Лучший способ реализовать флажок "Запомнить меня" в 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;