如果 IP 发生变化,我想注销该用户。
我设法通过在 Users 表中创建一个字段
lastLoginIp
,将其设置在 onAuthenticationSuccess
中,然后签入 User::isEqualTo()
方法来实现:
if($user->getLastLoginIp() !== Utils::getIp()) {
return false;
}
问题是它破坏了模拟,因为管理员的IP当然与用户的IP不同。
如何实施? (如果有人冒充用户,用户不得注销)
如果被授予,为什么不跳过 ip 检查
ROLE_PREVIOUS_ADMIN
?
if ($this->security->isGranted('ROLE_PREVIOUS_ADMIN')) {
return true;
}