HTTP предоставляет вам поддержку для этого, поэтому вам не нужно заново изобретать колесо
Либо использовать:
- HTTP Auth Basic (с SSL для обхода проблемы с отправкой простого текста)
- HTTP Auth Digest
Auth Digest имеет преимущество, заключающееся в том, что он не передает пароль в открытом тексте и обрабатывает атаки воспроизведения (с одноразовыми номерами).
Мы используем HTTP Auth Digest (контейнер сервлета Tomcat имеет прямую поддержку для него), и мы довольны этим.
РЕДАКТИРОВАТЬ: Некоторые клиенты имеют проблемы с дайджестом (не так тривиально), поэтому в настоящее время я бы выбрал Basic и SSL. Преимущество для Basic также в том, что вы можете выполнять упреждающую аутентификацию (отправка пользователя: pwd в первом запросе).