A autenticação básica parece esquecer o login toda vez que o usuário fecha o navegador. É possível fazer com que ele se lembre dele (por exemplo, por pelo menos 30 dias), a menos que o usuário exclua cookies à força, etc.?
Tentei adicionar o seguinte, mas não fez diferença:
RewriteEngine On
RewriteCond %{HTTP_COOKIE} remember_me=([^;]+) [NC]
RewriteRule ^ - [E=REMOTE_USER:%1]
Header always set Set-Cookie "remember_me=%{REMOTE_USER}e; Path=/; Max-Age=2592000; HttpOnly; Secure" env=REMOTE_USER
Não.
Por vários motivos, um deles é que a autenticação HTTP Basic não usa cookies. O outro é que o método de autenticação básica, por exemplo, também não está ciente de uma sessão e não suporta um método de logout.
Como o nome diz: é um método de autenticação muito básico e NÃO deve ser usado para controles de acesso em nenhuma aplicação web moderna.
Para ser mais preciso, isso depende do cliente.
A autenticação básica é completamente sem estado. As credenciais devem ser enviadas repetidamente com cada solicitação ao servidor. E também o servidor deve autenticar o cliente para cada solicitação separadamente. Não há sessão e, portanto, como a resposta acima menciona, não há cookies. Basicamente, em vez de enviar o conteúdo de um cookie, o cliente envia suas credenciais novamente. É apenas um cabeçalho HTTP em vez de outro.
A "lembrança do login" acontece completamente no lado do cliente. Sem ela, se você abrir uma página da web autenticada básica em um navegador, você teria que digitar sua senha umas 10-100 vezes, dependendo de quantas sub-solicitações o carregamento precisa. É por isso que praticamente todos os clientes "lembram do login" pelo menos para o carregamento da página atual, mesmo se você não clicar na caixa de seleção "lembrar", porque do contrário ela é completamente inutilizável.
Então, tecnicamente, se você puder configurar seu navegador para lembrar de seu basic-auth para sempre, ele nunca mais perguntará. Na prática, a maioria dos navegadores não suporta isso e só lembra disso para a sessão atual ou instância do navegador.
Se você não tem controle sobre seus clientes, então você está sem sorte. No lado do servidor, como apontado acima, não há nada que você possa fazer, porque o servidor processa a autenticação básica em uma base por solicitação.