在一个使用Symfony 2.8.14的项目中,我正在使用非常基本的设置来启用Symfony中的基本HTTP身份验证,如http://symfony.com/doc/2.8/security.html所述。
security.yml
由于使用FastCGI运行PHP的Apache存在特定问题,需要将内容添加到位于
我不知道还可以尝试什么。
security:
encoders:
Symfony\Component\Security\Core\User\User: plaintext
providers:
in_memory:
memory:
users:
myuser: { password: mypassword, roles: 'ROLE_USER' }
firewalls:
default:
anonymous: ~
http_basic: ~
access_control:
- { path: ^/myroute, roles: ROLE_USER }
当我在本地服务器上访问/myroute
时,会提示我输入HTTP基本身份验证。但是,在输入正确的凭据后,它仍然会继续显示提示。
在远程服务器上,在输入正确的凭据后,将无限制地重定向到具有401
状态代码的相同路由。
两个服务器都是通过FastCGI运行PHP的Apache 2.4。有其他线程建议添加
# Sets the HTTP_AUTHORIZATION header removed by apache
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
由于使用FastCGI运行PHP的Apache存在特定问题,需要将内容添加到位于
/web/.htaccess
中。但是,这已经包含在symfony/standard-edition
中(并且也存在于我的.htaccess
中)。我不知道还可以尝试什么。