Аутентификация Genexus без использования Genexus Access Manager
Я хочу реализовать аутентификацию в Genexus индивидуально. Есть ли способ реализовать аутентификацию в компоненте без включения Genexus Access Manager(GAM)?
2 ответа
Конечно, вы можете управлять самостоятельно и сохранять зашифрованные пароли в вашей БД вручную.
Я предлагаю вам хранить пароли в хешированном, а не зашифрованном виде в целях безопасности в соответствии с OWASP.Шпаргалкой по хранилищу паролей
Вот пример хеширования с помощью SHA512, но вы можете выбрать любой из вариантов в CryptoHash:
Parm(in:&PassWord, out:&HashSHA512);
&CryptoHash.Algorithm = CryptoHashAlgorithm.SHA512
&Digerido = &PassWord.Trim() // you can add salt here
for &i = 1 to 10 //number of iterations in hashing
&Digerido = &CryptoHash.Compute(&Digerido)
endfor
&HashSHA512 = &Digerido.ToUpper()
Таким образом, в основном вы используете этот процесс для хеширования вашего пароля и сохранения его в базе данных, а когда пользователь входит в систему, вы используете процедуру для получения хеша и сравниваете хеш с тем, который хранится в базе данных.