Нужен пример конфигурации брандмауэра Symfony2 http_digest

Я хочу изменить http_basic на http_digest для брандмауэра, но на самом деле не задокументировано, как настроить http_digest.

Там ссылка кажется неполной или не актуальной:

http://symfony.com/doc/2.0/reference/configuration/security.html

http_basic:  
  provider: name  
http_digest:  
  provider: name  

Однако в примере в книге используется область, а не поставщик.

http://symfony.com/doc/current/book/security.html

http_basic:  
  realm: "Secured Demo Area"  

По крайней мере, этот пример работает, но когда я изменяю http_basic на http_digest, ключ (не задокументированный) отсутствует.

ErrorException: Примечание: неопределенный индекс: введите строку..\vendor\symfony\src\Symfony\Bundle\SecurityBundle\DependencyInjection\Security\Factory\HttpDigestFactory.php 80

http_digest:  
  realm: "Secured Demo Area"  
  key: "whatever"

Добавление ключа, похоже, работает, но после входа в систему возникает другая ошибка:

Неустранимая ошибка: вызов неопределенного метода Symfony\Component\Security\Http\EntryPoint\DigestAuthenticationEntryPoint::getKey() в..\vendor\symfony\src\Symfony\Component\Security\Http\Firewall\DigestAuthenticationListener.php в строке 79

В этот момент я понятия не имею, чего не хватает в моей конфигурации. Мне просто нужен рабочий пример для http_digest с Symfony 2.

1 ответ

Решение

Это, кажется, решено в текущей версии Symfony2 (2.0.10) .

  secured_area:
        pattern:    ^/admin           
        http_digest:
            realm: "Admin"
            key: "thisismykey"

У меня работает нормально.

Другие вопросы по тегам