ホームページ  >  記事  >  バックエンド開発  >  Laravelはマルチフィールドログインを実装します

Laravelはマルチフィールドログインを実装します

WBOY
WBOYオリジナル
2016-06-23 13:16:341057ブラウズ

現在、多くの Web サイトでこのような機能が提供されており、ユーザーは電子メール、携帯電話番号、またはニックネームで Web サイトにログインできます。Laravel でこの機能を実装する方法は次のとおりです (例として 5.1)。

以下の 3 つの方法の基本原理は同じです。

1. 方法 1

Laravel 独自の認証システムを使用し、/app/Http/Controllers/Auth/AuthController.php ファイルを変更し、メソッド (元のメソッドが配置されているファイル /vendor/laravel/framework/) を書き換えます。 src/Illuminate/Foundation /Auth/AuthenticatesUsers.php):

namespace App\Http\Controllers\Auth;......use Illuminate\Http\Request; // 增加该行class AuthController extends Controller{    protected $username = 'login';    ....    protected function getCredentials(Request $request)    {        $login = $request->get('login');        $field = filter_var($login, FILTER_VALIDATE_EMAIL) ? 'email' : 'name';        return [            $field => $login,            'password' => $request->get('password'),        ];    }}

2. 方法 2

/app/Http/Controllers/Auth/AuthController.php ファイルを変更する これも、Laravel 独自の認証システムを使用する方法です。

メソッド 3. メソッド San

ログイン関数を書き換える

Loginrequest.php:

AuthController.php:

  • この記事のトピックは「Laravel のヒント」です
前:デフォルトのフィールド名ログイン時に使用するメールアドレス》 🎜 🎜
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。