Запоминание пароля при входе (постановка)
SYSDBA (обсуждение | вклад) |
SYSDBA (обсуждение | вклад) (→Считывание пароля) |
||
| (не показаны 2 промежуточные версии 1 участника) | |||
| Строка 10: | Строка 10: | ||
Здесь <db_alias> -- псевдоним базы данных из выпадающего списка зарегистрированных баз данных. В папке будут располагаться строковые параметры, где имя параметра соответствует имени пользователя (логину), а значение параметра -- пароль в зашифрованном виде. Для шифрования использовать библиотеку [http://www.citforum.ru/security/articles/defense/ CryptoAPI]. | Здесь <db_alias> -- псевдоним базы данных из выпадающего списка зарегистрированных баз данных. В папке будут располагаться строковые параметры, где имя параметра соответствует имени пользователя (логину), а значение параметра -- пароль в зашифрованном виде. Для шифрования использовать библиотеку [http://www.citforum.ru/security/articles/defense/ CryptoAPI]. | ||
| − | При формировании имени папки следует использовать глобальную строковую константу [[ClientAccessRegistrySubKey]]. | + | При формировании имени папки следует использовать глобальную строковую константу [[gd_directories_const.ClientAccessRegistrySubKey|ClientAccessRegistrySubKey]]. |
Возможно в будущем понадобиться кроме зашифрованного пароля хранить дополнительную информацию. Предлагается перед шифрованием дописывать в начало строки пароля два символа -- номер версии: 01, 02, 03, и т.д. А при расшифровке отбрасывать их. | Возможно в будущем понадобиться кроме зашифрованного пароля хранить дополнительную информацию. Предлагается перед шифрованием дописывать в начало строки пароля два символа -- номер версии: 01, 02, 03, и т.д. А при расшифровке отбрасывать их. | ||
| Строка 18: | Строка 18: | ||
Считывание, расшифровку и подстановку пароля следует выполнять при выборе базы данных из списка и при вводе (выборе) имени пользователя. | Считывание, расшифровку и подстановку пароля следует выполнять при выборе базы данных из списка и при вводе (выборе) имени пользователя. | ||
| − | [[Category:Постановка]] | + | [[Category:Постановка-Сделано]] |
Текущая версия на 18:50, 10 апреля 2011
Как видно из этой дискуссии при работе с Гедымином одного пользователя в локальном режиме, а также при работе одного пользователя с большим количеством зарегистрированных баз данных неудобно помнить и постоянно вводить пароль.
Предлагается следующее:
- Добавить в диалог ввода пароля (TdlgSecLogIn) чек-бокс "Запомнить пароль".
- Если чек-бокс установлен, то после успешного подключения к базе данных сохранять пароль в зашифрованном виде в системном реестре в папке с именем:
HKEY_CURRENT_USER\SOFTWARE\Golden Software\Gedemin\Client\CurrentVersion\Access\<db_alias>
Здесь <db_alias> -- псевдоним базы данных из выпадающего списка зарегистрированных баз данных. В папке будут располагаться строковые параметры, где имя параметра соответствует имени пользователя (логину), а значение параметра -- пароль в зашифрованном виде. Для шифрования использовать библиотеку CryptoAPI.
При формировании имени папки следует использовать глобальную строковую константу ClientAccessRegistrySubKey.
Возможно в будущем понадобиться кроме зашифрованного пароля хранить дополнительную информацию. Предлагается перед шифрованием дописывать в начало строки пароля два символа -- номер версии: 01, 02, 03, и т.д. А при расшифровке отбрасывать их.
[править] Считывание пароля
Считывание, расшифровку и подстановку пароля следует выполнять при выборе базы данных из списка и при вводе (выборе) имени пользователя.