如何使SF2 / FOSUserBundle在特定操作后再次询问用户密码?

时间:2015-03-24 11:25:12

标签: php symfony fosuserbundle basic-authentication password-prompt

我在/admin/下有这个安全的管理区域。用户需要通过HTTP basic auth中的http_basic true设置为security.yml)来登录。

我的目标是,针对特定控制器中的特定操作,重新询问用户的用户名/密码。我认为这很简单,但根据我的研究,似乎不是。

我曾尝试unset $_SERVER['PHP_AUTH_USER']$_SERVER['PHP_AUTH_PW'],但似乎没有效果。我还尝试更改header以设置401状态代码,但这也没有效果。

这怎么可以实现?

1 个答案:

答案 0 :(得分:0)

首先,HTTP基本身份验证尚未设计为支持注销。

这意味着你可以在每个浏览器上保证它;即使使用401技巧也不使用重定向user@mysite.com来使凭证无效。

请参阅this answer

因此,当您需要注销用户时,这是一个不好的习惯。


如果您想重新询问用户的凭据,使用FOSUserBundle提供的自定义身份验证。它非常简单&安全