【问题标题】:How to override Sentinel Activation (using Laravel)如何覆盖 Sentinel 激活(使用 Laravel)
【发布时间】:2018-06-11 03:23:00
【问题描述】:

在大多数情况下,我希望所有用户在注册我的网站时都必须使用激活检查点。

在某些情况下我想绕过这个,比如

Activation::setToTrue($user);

你知道有什么好的方法吗?

谢谢

【问题讨论】:

    标签: laravel activation sentinel


    【解决方案1】:

    实际上我必须先注册他们,然后如果他们有手机,我正在使用 Nexmo 进行验证,然后如果成功,我需要覆盖激活但不知道代码(因为我显然不想存储在会话中)。

    所以我最终得到了这个不可能正确的粗略解决方案吗?

            \Activation::remove($user);
            $activation = \Activation::create($user);
            \Activation::complete($user, $activation['code']);
    

    【讨论】:

    • 这就是我要找的……谢谢
    【解决方案2】:

    尝试使用 sentinel 激活注册-

    Sentinel::registerAndActivate();
    

    或者你可以通过bypassing 现有用户对象来执行此操作。首先,您需要check,如果有activation record exists 这个用户或没有。然后根据您的需要做必要的步骤到complete激活。

    $activation = \Cartalyst\Sentinel\Laravel\Facades\Activation::exists($user);
    if($activation){
        Activation::complete($user, $activation->code);
    }
    else{
        $activation2 = Activation::create($user);
        Activation::complete($user, $activation2->code);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-16
      • 1970-01-01
      • 2015-08-11
      • 2020-05-28
      • 2019-07-13
      • 2020-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多