4

我想将 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"

添加密钥似乎有效,但登录后会导致另一个错误:

致命错误:在第 79 行调用 ..\vendor\symfony\src\Symfony\Component\Security\Http\Firewall\DigestAuthenticationListener.php 中未定义的方法 Symfony\Component\Security\Http\EntryPoint\DigestAuthenticationEntryPoint::getKey()

这就是我不知道我的配置中缺少什么的地方。我只需要一个使用 Symfony 2 的 http_digest 工作示例。

4

1 回答 1

3

这似乎在当前版本的 Symfony2 (2.0.10) 中得到了解决。

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

对我有用。

于 2012-02-23T14:30:46.527 回答