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