O que é o "domínio" na autenticação básica


307

Estou configurando autenticação básica em um site php e encontrei esta página no manual php mostrando a configuração. O que "território" significa aqui no cabeçalho?

header('WWW-Authenticate: Basic realm="My Realm"');

A página da página está sendo solicitada?

Respostas:


284

Do RFC 1945 (HTTP / 1.0) e RFC 2617 (autenticação HTTP referenciada pelo HTTP / 1.1)

O atributo de região (sem distinção entre maiúsculas e minúsculas) é necessário para todos os esquemas de autenticação que emitem um desafio. O valor da região (diferencia maiúsculas de minúsculas), em combinação com a URL raiz canônica do servidor que está sendo acessado, define o espaço de proteção. Essas regiões permitem que os recursos protegidos em um servidor sejam particionados em um conjunto de espaços de proteção, cada um com seu próprio esquema de autenticação e / ou banco de dados de autorização. O valor da região é uma cadeia, geralmente atribuída pelo servidor de origem, que pode ter semântica adicional específica para o esquema de autenticação.

Em resumo, as páginas no mesmo domínio devem compartilhar credenciais. Se suas credenciais funcionarem para uma página com a região "Minha região" , deve-se supor que a mesma combinação de nome de usuário e senha funcione para outra página com a mesma região.


7
Alguns servidores não fornecem um domínio em seus desafios de autenticação.
orkoden

5
Quando trabalho com o IIS, configuro regiões diferentes para pastas virtuais diferentes (no mesmo site). Mas não tenho certeza se isso está correto. Mas parece funcionar para mim. Quando visito uma pasta virtual para um domínio diferente, recebi uma solicitação de credencial.
smwikipedia

1
Nota: RFC 2617 foi atualizado (NÃO obsoleto) pela RFC 7235
Hawkeye Parker

117

Uma região pode ser vista como uma área (não uma página específica, pode ser um grupo de páginas) para a qual as credenciais são usadas; esta também é a string que será mostrada quando o navegador abrir a janela de login, por exemplo

Digite seu nome de usuário e senha para <realm name>:

Quando a região muda, o navegador pode mostrar outra janela pop-up se não tiver credenciais para essa região específica.


Como agrupar páginas sob domínio?
Verde

@ Green A .htaccesshierarquia passa, para que qualquer coisa que esteja em um determinado diretório possa receber o mesmo domínio.
Ja Decck

1
@ Jack, pensei ingenuamente que todas as páginas com um cabeçalho de autenticação com um determinado domínio estão nesse domínio e não existem outras regras. Estou errado?

15

De acordo com a RFC 7235 , o realmparâmetro é reservado para definir espaços de proteção (conjunto de páginas ou recursos onde as credenciais são necessárias) e é usado pelos esquemas de autenticação para indicar um escopo de proteção .

Para mais detalhes, consulte a cotação abaixo (os destaques não estão presentes na RFC):

2.2 Espaço de Proteção (Domínio)

O parâmetro de autenticação "território" é reservado para uso por esquemas de autenticação que desejam indicar um escopo de proteção .

Um espaço de proteção é definido pelo URI raiz canônico (o esquema e os componentes de autoridade do URI de solicitação efetivo) do servidor que está sendo acessado, em combinação com o valor da região, se presente. Essas regiões permitem que os recursos protegidos em um servidor sejam particionados em um conjunto de espaços de proteção, cada um com seu próprio esquema de autenticação e / ou banco de dados de autorização. O valor da região é uma cadeia, geralmente atribuída pelo servidor de origem, que pode ter semântica adicional específica para o esquema de autenticação. Observe que uma resposta pode ter vários desafios com o mesmo esquema de autenticação, mas com regiões diferentes. [...]


Nota 1: A estrutura para autenticação HTTP é atualmente definida pelo RFC 7235 , que atualiza o RFC 2617 e torna o RFC 2616 obsoleto.

Nota 2: o realmparâmetro nem sempre é necessário em desafios .

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.