Авторизация: запомнить логин и пароль

X11
Дата: 16.12.2019 20:46:34
На волне изучения UniGUI сделал форму авторизации.
Но её ведь можно не показывать, если пользователь на форме логина включил "запомнить меня".
Ведь мы не вводим на форумах постоянно свои логи и пароль. Это удобно, да.

Так вот... Если там что-то заумное или всё до безобразия проста, ну т.е. подскажите, как это правильно организовать. Не хранить же логин/пароль в куках...
Т.е. в базе на сервере генерировать какой-то ключ и его можно хранить вместе с логином в куках браузера или просто ключ даже без логина.
А когда пользователь открывает веб-приложение, то проверять ключ, дату последнего входа и сразу открывать главную форму вместо формы логина?
Так правильно?


P.S. В моём UniGUI приложении браузер не предлагает запомнить логин и пароль. Так и должно быть?
Gerasimenko
Дата: 16.12.2019 23:17:37
X11,

логин, имя компьютера и домена на стороне БД проверить не проблема (например, в T-SQL, так :http://www.cyberforum.ru/sql-server/thread625328.html). допустим, стоит галочка, запомнить меня. При первом входе, проверив серверную аутентификацию, запоминаем, что он прошел ее и стоит галочка. Пока галочку не снимет, автоматически подключаем. как то так, наверное...
makhaon
Дата: 17.12.2019 11:18:19
X11,

автор
P.S. В моём UniGUI приложении браузер не предлагает запомнить логин и пароль. Так и должно быть?


далеко не каждый передаваемый параметр браузеры воспринимают как логин/пароль. часто 'магия' заканчивается на явных user= password=
X11
Дата: 17.12.2019 13:11:14
Так в том-то и дело, что явные нельзя оставлять. Небезопасно.
Дегтярев Евгений
Дата: 17.12.2019 18:18:44
X11,

кладешь в куку идешник клиента и вася кот
_Vasilisk_
Дата: 17.12.2019 18:36:06
В куку кладешь
MD5(id + ':' + login + ':' +password)

Можешь еще добавить время последнего логина и/или User Agent. На сервере проверяешь хеш
Дегтярев Евгений
Дата: 17.12.2019 18:58:54
пошла жара )
kealon(Ruslan)
Дата: 17.12.2019 20:29:29
_Vasilisk_
В куку кладешь
MD5(id + ':' + login + ':' +password)

Можешь еще добавить время последнего логина и/или User Agent. На сервере проверяешь хеш
это уже всё устарело и небезопасно - если твой кеш можно перехватить, значит тебя можно подменить, это такой же пароль выходит.

обмен например по типу Ntlmv2, более безопасен
X11
Дата: 17.12.2019 21:30:30
kealon(Ruslan)
обмен например по типу Ntlmv2, более безопасен


Круто, но, к сожалению, в Delphi такого нет. А сому писать очень и очень долго придётся :(
_Vasilisk_
Дата: 17.12.2019 21:59:04
kealon(Ruslan)
обмен например по типу Ntlmv2, более безопасен
Это пересылка пароля. А задача состоит в сохранении статуса