2

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

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

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

这怎么可能实现?

4

1 回答 1

0

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

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

看到这个答案

因此,当您需要注销用户时,使用它是一个坏习惯。


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

于 2015-03-24T18:39:08.480 回答