强制用户对symfony进行重新身份验证


Force user reauthentication on symfony

我正在开发一个具有成员区域和用户级别的网站。管理员成员可以访问一个区域,在那里他们可以查看、添加和更改一些敏感数据。

为了在这组页面上添加一个保护层,我想在访问受限区域的主页之前询问用户的登录名和密码,即使他们已经登录。

我该怎么做?在symfony文档中,我没有发现任何关于用户第二次身份验证的内容。

您在这里寻找的是is_AUTHENTICATED_REMEMBERED与is_AUTTHENTICATED_FULLY。如果你有"记住我"功能,你可以将会话设置为在30分钟到一小时后过期(或者你认为可以的任何时间间隔)。当会话超时时,在管理区域,如果你检查是否已完全验证,他们将被要求登录,如果他们访问了任何门槛较低的地方(例如被认证记住),他们仍然会显示为已登录。这基本上是亚马逊在你尝试访问用户设置页面时所做的。当然,你已经登录,可以在购物车中添加内容,但一旦你尝试访问敏感数据,你就必须重新登录。

我会避免第二次身份验证。。。我最好使用限制层(用户角色)。。。FOSUserBundle已经提供了所有需要的功能