Действия формы авторизации без сохранения данных

314
16 января 2017, 18:42

Знатоки, может у Вас есть идеи, как реализовать это?

Пользователь запускает программу, открывается окно авторизации. Если юзер ввел логин и пароль, а так же нажал "запомнить меня", то конфиг сохраняется с параметрами пользователя, но если другой пользователь захочет ввести свои данные и не станет нажимать "запомнить меня" - то программа все равно загрузит конфиг с сохраненными ранее данными, даже если пользователь вошел в систему под другим именем.

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

Есть ли какие нибудь варианты, как лучше это сделать?

Answer 1

Если речь идёт именно о функциональности «запомнить меня», имеет смысл делать так:

  1. В user-level settings положите свойства, описывающие логин сохранённого пользователя и его пароль (или, возможно, хеш от пароля, это уж как ваша модель безопасности диктует). В начале они пустые. Отдельные конфигурационные файлы излишни.
  2. При старте программы, если есть сохранённые логин и пароль, используйте их молча, не показывая диалоговое окно.
  3. Если не сохранено ничего (или сохранён только логин), показывайте диалоговое окно ввода логина и пароля. Поле логина заполните заранее значением, если оно доступно.
    • Если диалог закрыт кнопкой OK, запомните в settings новый логин. Если юзер при этом поставил галку «запомнить меня», то запоминайте и пароль, в противном случае сбросьте его в null.
    • Если же диалог закрыт по-другому, просто ничего не меняйте, но не пускайте юзера дальше: он не авторизован. (Возможно, для этого случая нужен более разумный UI.)
  4. В приложении сделайте кнопку logout, которая будет сбрасывать сохранённый пароль и открывать снова диалог login.
READ ALSO
C# Form не прогружается

C# Form не прогружается

Форма WaitingDialogcs не прогружается, но когда метод GetPage законьчил работу загрузалиась

273
Загрузка картинки в MySQL базу ASP NET MVC 5

Загрузка картинки в MySQL базу ASP NET MVC 5

приветподскажите как загрузить картинку в базу MySQL

323
Условие - пока не [требует правки]

Условие - пока не [требует правки]

Если тхт1 имеет строку 57, и в тхт2 есть строки от 00 до 09(01, 02, 03, 04,(запятая как энтер) итдто софт должен считать каждую строку , хешарнуть ее и сравнить...

357