LINUX.ORG.RU

Правильная аутентификация в JavaServlet + клиент на js

 , ,


0

1

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

Придумать, как это сделать «своими силами» проблем нет: храним в базе login + sha256( password), на клиенте счиатем sha256(password) и отправляем на сервак вместе с логином. Если подобная пара у нас нашлась - гуд.

Но велосипедить что-то свое совсем не хочется, потому обращаюсь к уважаемым донам за советом, как нынче правильно подобные штуки городить?

P.S. Ну а пока вы просыпаетесь и думаете над ответом - пошел исходники ЛОРа читать, наверняка ведь там есть ответ на этот вопрос ))

★★★★★

Обычная авторизация по логину и паролю, которые отправляются простым текстом в POST.
Если нужна безопасность, то авторизация идёт по шифрованному каналу, какому-нибудь https.

GblGbl ★★★★★
()
Последнее исправление: GblGbl (всего исправлений: 1)

считай на сервере хеш, уникальный для юзверя, пихай его в куку. А по хешу сопоставляй в БД юзверя. как вариант.

bvn13 ★★★★★
()
Ответ на: комментарий от GblGbl

отправляются простым текстом в POST

Не смешно.

К тому же хранить на сервере пароли в plaintext? Тоже спорное решение, как мне кажется.

trex6 ★★★★★
() автор топика
Ответ на: комментарий от bvn13

считай на сервере хеш, уникальный для юзверя, пихай его в куку. А по хешу сопоставляй в БД юзверя. как вариант.

Это вы мне про сессии чего-то посоветовать собирались или я вас неправильно понял? Для сессий в жабке есть готовое решение, которое, судя по всему, должно отлично работать.

trex6 ★★★★★
() автор топика
Ответ на: комментарий от trex6

если проблема в том, что нужно как-то передать логин-пароль на сервер, то можете смело передавать в открытую пост-запросом, как и посоветовали выше.

bvn13 ★★★★★
()

Можно заюзать, например, apache shiro.

orm-i-auga ★★★★★
()

Есть http basic/digest authentication - в этом случае логин-пароль шлётся каждый раз при запросе (что подходит для stateless систем). Https нужен.

Как уже написали хэшить пароль на клиенте смысла мало. Приходит вам логин и пароль -> на сервере пароль хэшируется (с солью пользователя обычно) и сравниватеся с тем что базе (изначально захэшированым также с солью). Т.е. в базе никаких паролей в открытом виде нет.

green_turtle
()
Ответ на: комментарий от green_turtle

Как уже написали хэшить пароль на клиенте смысла мало. Приходит вам логин и пароль -> на сервере пароль хэшируется (с солью пользователя обычно) и сравниватеся с тем что базе (изначально захэшированым также с солью). Т.е. в базе никаких паролей в открытом виде нет.

+1. bcrypt или scrypt.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.