1
我正在使用yii2-user进行用户注册。我想检查用户是否在从社交账户登录之前注册。在创建帐户并在全球范围内处理main.php
之前,我正在触发事件。Yii2 - 触发后从事件处理程序终止应用程序
如果用户已经注册,我想显示一些消息,并不让他继续注册/登录过程。
总之,我希望用户重定向到主页,如果指定的条件匹配显示来自事件处理程序的消息。
'modules' => [
'user' => [
'class' => 'dektrium\user\Module',
'enableRegistration' => true,
'controllerMap' => [
'security' => [
'class' => \dektrium\user\controllers\SecurityController::className(),
'on ' . \dektrium\user\controllers\SecurityController::EVENT_BEFORE_CREATE_ACCOUNT => function ($e) {
$email = $e->client->email;
$user_model = \dektrium\user\models\User::findOne(['email' => $email]);
if($user_model == Null)
{
return; //then just return and continue next steps
}
Yii::$app->session->setFlash('info', "You cannot directly login with this account. Please login with the credentials sent to your email ($email) first and then connect your Account from Settings.");
//---------- NOW REDIRECT TO HOME PAGE--------
}
],
],
],
],
什么是将用户重定向到主页并停止执行当前控制器的最佳方式?
已经尝试过。没有工作.. – Choxx