手順は、次のドキュメントで説明されていますCWebUser
。
- ユーザーは、認証に必要な情報を提供します。
- ユーザー提供の情報を使用して ID インスタンスが作成されます。
- IUserIdentity::authenticate を呼び出して、ID が有効かどうかを確認します。
- 有効な場合は、 を呼び出し
CWebUser::login
てユーザーをログインさせ、ユーザー ブラウザを にリダイレクトしますreturnUrl
。
を実装する ID クラスが既にあるはずIUserIdentity
です。通常、これは から派生したクラスCUserIdentity
であり、構築時にユーザー名とパスワードを取ります。ここには大きな自由度があります。任意の方法で認証する独自のカスタム ID クラスから派生させずに使用することも、OTP で認証するメソッドから派生させてオーバーライドCUserIdentity
することもできます。CUserIdentity
authenticate
手順は上記とまったく同じです。
$identity = new MyIdentity(...); // you decide what params it takes
if ($identity->authenticate()) {
$user = Yii::app()->user;
$user->login($identity);
$this->redirect($user->returnUrl);
}