Silex身份验证防火墙问题

时间:2013-11-11 10:57:21

标签: php symfony silex

我查看了silex文档http://silex.sensiolabs.org/doc/providers/security.html,并且我正在使用HTTP身份验证来允许单个用户进入系统的后端。

虽然这适用于本地副本,但它不在服务器上,拒绝登录。我以前遇到过这个问题,当使用htpasswd文件时,能够通过在cgi模式下运行php来解决这个问题,但是在这个例子中没有帮助。

$app->register(new Silex\Provider\SecurityServiceProvider(), array(
    'security.firewalls' => array(
    'admin' => array(
        'pattern' => '^/admin',
        'http' => true,
        'users' => array(
             // raw password is foo
             'admin' => array('ROLE_ADMIN', '5FZ2Z8QIkA7UTZ4BYkoC+GsReLf569mSKDsfods6LYQ8t+a8EW9oaircfMpmaLbPBh4FOBiiFyLfuZmTSUwzZg==')    ,
        ),
    ),
    )
));

1 个答案:

答案 0 :(得分:2)

标题中存在一些问题,其中包含Apache上php-cgi中的授权数据。这可能是你的问题。尝试使用以下内容添加.htaccess文件:

RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.+)$
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

来源:Symfony/Component/HttpFoundation/ServerBag.php