首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁止用户登录Symfony

问禁止用户登录Symfony
EN

Stack Overflow用户
提问于 2018-05-10 21:00:28
回答 1查看 92关注 0票数 0

我已经创建了一个自定义登录表单,我想在这种情况下阻止用户登录:

我在users表中有一个字段password_changed_date。我想将该日期与当前日期进行比较,如果差异超过6个月,则应将用户重定向到其他页面。我该怎么做呢?

EN

回答 1

Stack Overflow用户

发布于 2018-05-10 22:14:07

为了防止用户在其凭据过期时登录,您可以使用AdvancedUserIternface。此外,该接口还提供了一个名为isCredentialsNonExpired()的方法,可以满足您的需要。当您实现该接口时,Symfony的安全组件会自动检查这些方法。对于接口所需的所有其他方法,如果您不需要它们,则可以始终返回true。

这将导致您的登录失败,并将您重定向回登录表单,就像您输入了错误的密码一样。在您的loginAction中,您可以使用AuthenticationUtils通过getLastAuthenticationError()获取最后一个错误。这将允许您对错误做出反应。例如,您可以检查错误消息,然后执行重定向到要显示的特殊页。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50273540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档