Laravel est l'un des frameworks PHP les plus populaires aujourd'hui et est largement utilisé dans le développement d'applications Web en raison de ses excellentes fonctionnalités. Parmi elles, l'authentification des utilisateurs est l'une des fonctionnalités les plus couramment utilisées dans les applications Laravel. Laravel fournit un système d'authentification des utilisateurs très complet qui peut facilement mettre en œuvre des fonctions de connexion, d'enregistrement et autres. Mais parfois, nous devons modifier le champ d'authentification par défaut. Cet article explique comment modifier le champ d'authentification utilisateur dans Laravel.
La table utilisateur par défaut dans Laravel est users
, qui contient les champs suivants : users
,包含以下字段:
id
: 用户IDname
: 用户名email
: 邮箱password
: 密码remember_token
: 记住密码令牌其中,email
和password
是Laravel默认使用的用户认证字段。在登录和注册过程中,Laravel会使用这两个字段进行认证。
有时候,我们需要将默认的用户认证字段更改为其他字段,比如说将username
字段作为认证字段。在Laravel中,我们需要对以下几个地方进行更改:
首先,我们需要更改Laravel生成的users
表的数据库迁移文件,将email
字段改为username
字段,比如下面的迁移文件:
Schema::create('users', function (Blueprint $table) { $table->increments('id'); $table->string('username')->unique(); $table->string('password'); $table->rememberToken(); $table->timestamps(); });
接着,我们需要更改Laravel生成的User
模型文件,将email
字段改为username
字段:
use Illuminate\Notifications\Notifiable; use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Foundation\Auth\User as Authenticatable; class User extends Authenticatable { ... /** * Get the email address used for authentication. * * @return string */ public function getEmailForAuthenticatioo() { return $this->username; } ... }
最后,我们需要更改登录控制器,使用username
字段进行认证。在Laravel中,登录控制器默认为app/Http/Controllers/Auth/LoginController.php
。我们需要在该文件中添加以下代码:
use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; class LoginController extends Controller { ... /** * Get the login username to be used by the controller. * * @return string */ public function username() { return 'username'; } ... }
至此,我们已经完成了将username
字段作为认证字段的全部操作。当用户登录或者注册时,Laravel会使用username
字段进行认证。
Laravel默认使用的用户认证字段为email
和password
,但是,有时候我们需要将默认的认证字段更改为其他的字段。本文介绍了如何将用户认证字段更改为username
字段。通过对数据库迁移文件、模型文件和控制器进行更改,我们成功地实现了将username
id
: ID utilisateur li>nom
: Nom d'utilisateuremail
: Emailmot de passe
: Mot de passe remember_token
: Mémoriser le jeton de mot de passeemail
et mot de passe
sont le champ d'authentification utilisateur utilisé par Laravel par défaut. Pendant le processus de connexion et d'enregistrement, Laravel utilise ces deux champs pour l'authentification. 🎜🎜Modifier le champ d'authentification utilisateur par défaut🎜🎜Parfois, nous devons modifier le champ d'authentification utilisateur par défaut par d'autres champs, par exemple en utilisant le champ nom d'utilisateur
comme champ d'authentification. Dans Laravel, nous devons apporter des modifications aux endroits suivants : 🎜users
générée par Laravel, modification Le champ email
est remplacé par le champ username
, comme le fichier de migration suivant : 🎜rrreeeUtilisateur
, remplacez le champ e-mail
par le champ nom d'utilisateur
: 🎜rrreeeusername
pour nous authentifier. Dans Laravel, le contrôleur de connexion est par défaut app/Http/Controllers/Auth/LoginController.php
. Nous devons ajouter le code suivant au fichier : 🎜rrreee🎜À ce stade, nous avons terminé toutes les opérations d'utilisation du champ username
comme champ d'authentification. Lorsqu'un utilisateur se connecte ou s'inscrit, Laravel utilise le champ username
pour l'authentification. 🎜🎜Résumé🎜🎜Les champs d'authentification utilisateur utilisés par Laravel par défaut sont email
et mot de passe
, mais nous devons parfois remplacer les champs d'authentification par défaut par d'autres champs. Cet article décrit comment remplacer le champ d'authentification utilisateur par un champ nom d'utilisateur
. En apportant des modifications au fichier de migration de base de données, au fichier de modèle et au contrôleur, nous avons réussi à implémenter le champ username
comme champ d'authentification. Cette action nous aide non seulement à répondre à des besoins commerciaux particuliers, mais améliore également l’expérience utilisateur utilisant l’application. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!