Запоминание пароля при входе (постановка)

Материал из GedeminWiki
(Различия между версиями)
Перейти к: навигация, поиск
Строка 9: Строка 9:
  
 
Здесь <db_alias> -- псевдоним базы данных из выпадающего списка зарегистрированных баз данных. В папке будут располагаться строковые параметры, где имя параметра соответствует имени пользователя (логину), а значение параметра -- пароль в зашифрованном виде. Для шифрования использовать библиотеку [http://www.citforum.ru/security/articles/defense/ CryptoAPI].
 
Здесь <db_alias> -- псевдоним базы данных из выпадающего списка зарегистрированных баз данных. В папке будут располагаться строковые параметры, где имя параметра соответствует имени пользователя (логину), а значение параметра -- пароль в зашифрованном виде. Для шифрования использовать библиотеку [http://www.citforum.ru/security/articles/defense/ CryptoAPI].
 +
 +
При формировании имени папки следует использовать глобальную строковую константу [[ClientAccessRegistrySubKey]].
  
 
Возможно в будущем понадобиться кроме зашифрованного пароля хранить дополнительную информацию. Предлагается перед шифрованием дописывать в начало строки пароля два символа -- номер версии: 01, 02, 03, и т.д. А при расшифровке отбрасывать их.
 
Возможно в будущем понадобиться кроме зашифрованного пароля хранить дополнительную информацию. Предлагается перед шифрованием дописывать в начало строки пароля два символа -- номер версии: 01, 02, 03, и т.д. А при расшифровке отбрасывать их.

Версия 20:20, 17 сентября 2007

Как видно из этой дискуссии при работе с Гедымином одного пользователя в локальном режиме, а также при работе одного пользователя с большим количеством зарегистрированных баз данных неудобно помнить и постоянно вводить пароль.

Предлагается следующее:

  1. Добавить в диалог ввода пароля (TdlgSecLogIn) чек-бокс "Запомнить пароль".
  2. Если чек-бокс установлен, то после успешного подключения к базе данных сохранять пароль в зашифрованном виде в системном реестре в папке с именем:
HKEY_CURRENT_USER\SOFTWARE\Golden Software\Gedemin\Client\CurrentVersion\Access\<db_alias> 

Здесь <db_alias> -- псевдоним базы данных из выпадающего списка зарегистрированных баз данных. В папке будут располагаться строковые параметры, где имя параметра соответствует имени пользователя (логину), а значение параметра -- пароль в зашифрованном виде. Для шифрования использовать библиотеку CryptoAPI.

При формировании имени папки следует использовать глобальную строковую константу ClientAccessRegistrySubKey.

Возможно в будущем понадобиться кроме зашифрованного пароля хранить дополнительную информацию. Предлагается перед шифрованием дописывать в начало строки пароля два символа -- номер версии: 01, 02, 03, и т.д. А при расшифровке отбрасывать их.

Считывание пароля

Считывание, расшифровку и подстановку пароля следует выполнять при выборе базы данных из списка и при вводе (выборе) имени пользователя.

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты