$ _SERVER ['PHP_AUTH_DIGEST'] vazio com mod_auth_digest ativado

1

A saída do sudo apachectl -t -D DUMP_MODULES

Loaded Modules:
 core_module (static)
 log_config_module (static)
 logio_module (static)
 mpm_prefork_module (static)
 http_module (static)
 so_module (static)
 alias_module (shared)
 auth_basic_module (shared)
 auth_digest_module (shared)
 authn_file_module (shared)
 authz_default_module (shared)
 authz_groupfile_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 autoindex_module (shared)
 cgi_module (shared)
 deflate_module (shared)
 dir_module (shared)
 env_module (shared)
 headers_module (shared)
 mime_module (shared)
 negotiation_module (shared)
 php5_module (shared)
 reqtimeout_module (shared)
 rewrite_module (shared)
 setenvif_module (shared)
 ssl_module (shared)
 status_module (shared)
Syntax OK

Parece indicar que o módulo de autenticação digest está funcionando no meu servidor, mas quando tento acessar $ _SERVER ['PHP_AUTH_DIGEST'], a variável não existe.

Minha configuração de virtualhost é:

<VirtualHost *:80>
        ServerName sam
        DocumentRoot /var/www/sam/public/
        ErrorLog /var/log/apache2/sam-error.log

        SetEnv APPLICATION_ENV "development"

        <Directory /var/www/sam/public>
                DirectoryIndex index.php
                AllowOverride All
                Order allow,deny
                Allow from all
                #AuthType Digest
                #AuthName "api"
        </Directory>
</VirtualHost>
    
por Noah Goodrich 19.06.2011 / 06:42

1 resposta

2

Na sua configuração do Apache, você não ativou a Autenticação resumida . Tente remover o comentário das linhas relevantes e reinicie o Apache através de sudo /etc/init.d/apache2 restart :

<VirtualHost *:80>
        ServerName sam
        DocumentRoot /var/www/sam/public/
        ErrorLog /var/log/apache2/sam-error.log

        SetEnv APPLICATION_ENV "development"

        <Directory /var/www/sam/public>
                DirectoryIndex index.php
                AllowOverride All
                Order allow,deny
                Allow from all
                AuthType Digest
                AuthName "api"
        </Directory>
</VirtualHost>

Se isso não funcionar ou causar um erro no servidor, verifique o log de erros em /var/log/apache2/access.log .

Se você implementar a autenticação Digest, talvez queira verificar o exemplo de autenticação digest no php .net Uma descrição de todas as variáveis $_SERVER pode ser encontrada aqui .

    
por Lekensteyn 19.06.2011 / 10:46