【问题标题】:Force user reauthentication on symfony在 symfony 上强制用户重新认证
【发布时间】:2015-03-05 16:35:36
【问题描述】:

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

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

我该怎么做?在 symfony 文档中,我没有找到关于用户第二次身份验证的任何信息。

【问题讨论】:

    标签: php security symfony authentication


    【解决方案1】:

    您在这里寻找的是 IS_AUTHENTICATED_REMEMBERED 与 IS_AUTHENTICATED_FULLY。如果您有记住我的功能,您可以将会话设置为在 30 分钟到一小时(或您认为可以的任何时间间隔)后到期被要求登录,如果他们访问任何带有较低栏的地方(例如经过身份验证记住),他们仍然会显示为已登录。这基本上是亚马逊在您尝试访问用户设置页面时所做的事情。确定您已登录并且可以将东西添加到您的购物车,但是一旦您尝试访问您的敏感数据,您必须重新登录。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 我已经使用了用户角色,但我想添加第二个身份验证,因为人们可以在浏览器中存储他们的密码,每个可以访问计算机的人都可以使用管理员权限和访问权限登录敏感数据。此外,如果管理员在公用计算机上忘记注销,下一个用户将无需输入密码即可访问受限区域。
      • 您可以将 auth-token 设置为在某个超时后无效...因为使用第二个登录层,如果您只是嵌套它们,您将遇到同样的问题跨度>
      • 第二次身份验证将防止第二次问题(用户忘记注销),如果我在第二个表单字段中输入autocomplete="off",浏览器不应预填表单
      • autocomplete="off" 不会阻止任何人使用存储的凭据登录...正如它所说,它只是阻止自动完成
      • 哦,我以为存储的凭据被视为自动完成
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-24
      相关资源
      最近更新 更多