本文介绍了基于接受的 eula 的 Symfony2 自定义用户检查器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想创建自定义用户检查器以根据上次接受的 eula 验证登录操作.'思路很简单,eula会有很多版本,用户不能登录,直到他接受最新的eula.

I want to create custom user checker to validate login action against last accepted eula.'Idea is quite simple, there will be many versions of eula and user can't login untill he accept the lastest eula.

场景是:

  1. 用户创建新帐户并接受 eula.
  2. Eula 更新了
  3. 用户尝试登录,但他没有接受最新的 eula
  4. 用户获得相同的登录表单,但多了一个字段accept newest eula"
  5. 用户登录并系统插入信息:当前日期和时间、用户 ID、Eula id 以跟踪 eula 接受情况.

我发现了这个:https://groups.google.com/forum/#!msg/symfony2/D0V0bFks9S0/Qg9mrbpfB3IJ

但不幸的是,没有完整版的自定义用户检查器.我如何实施其余部分?

But unfortunately there is no full version of custom user checker. How do I implement the rest of it?

推荐答案

答案其实很明显.在您的自定义捆绑包中:

The answer is actually quite obvious.In your custom bundle:

config.yml

parameters:
    security.user_checker.class: AcmeBundleUserBundleSecurityUserChecker

用户检查器:

class UserChecker extends BaseUserChecker
{
    /**
     * {@inheritdoc}
     */
    public function checkPreAuth(UserInterface $user)
    {
        //do your custom preauth stuff here
        parent::checkPreAuth($user);
    }
}

这篇关于基于接受的 eula 的 Symfony2 自定义用户检查器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-16 19:01