基于接受的 eula 的 Symfony2 自定义用户检查器 [英] Symfony2 custom user checker based on accepted eula

查看:14
本文介绍了基于接受的 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 自定义用户检查器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆