Heim > PHP-Framework > Laravel > So ändern Sie Benutzerauthentifizierungsfelder in Laravel

So ändern Sie Benutzerauthentifizierungsfelder in Laravel

PHPz
Freigeben: 2023-04-03 19:53:23
Original
710 Leute haben es durchsucht

Laravel ist heute eines der beliebtesten PHP-Frameworks und wird aufgrund seiner hervorragenden Funktionen häufig in der Entwicklung von Webanwendungen eingesetzt. Unter diesen ist die Benutzerauthentifizierung eine der am häufigsten verwendeten Funktionen in Laravel-Anwendungen. Laravel bietet ein sehr umfassendes Benutzerauthentifizierungssystem, mit dem sich Anmelde-, Registrierungs- und andere Funktionen problemlos implementieren lassen. Aber manchmal müssen wir das Standardauthentifizierungsfeld ändern. In diesem Artikel erfahren Sie, wie Sie das Benutzerauthentifizierungsfeld in Laravel ändern.

Laravels Standard-Benutzerauthentifizierungsfeld

Die Standardbenutzertabelle in Laravel ist users, die die folgenden Felder enthält: users,包含以下字段:

  • id: 用户ID
  • name: 用户名
  • email: 邮箱
  • password: 密码
  • remember_token: 记住密码令牌

其中,emailpassword是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();
});
Nach dem Login kopieren

更改模型文件

接着,我们需要更改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;
    }
    
    ...
}
Nach dem Login kopieren

更改登录控制器

最后,我们需要更改登录控制器,使用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';
    }
    
    ...
}
Nach dem Login kopieren

至此,我们已经完成了将username字段作为认证字段的全部操作。当用户登录或者注册时,Laravel会使用username字段进行认证。

总结

Laravel默认使用的用户认证字段为emailpassword,但是,有时候我们需要将默认的认证字段更改为其他的字段。本文介绍了如何将用户认证字段更改为username字段。通过对数据库迁移文件、模型文件和控制器进行更改,我们成功地实现了将username

  • id: Benutzer-ID li>
  • name: Benutzername
  • email: E-Mail
  • passwort : Passwort
  • remember_token: Passwort-Token merken
Dazu gehören email und password sind das von Laravel standardmäßig verwendete Benutzerauthentifizierungsfeld. Während des Anmelde- und Registrierungsprozesses verwendet Laravel diese beiden Felder zur Authentifizierung. 🎜🎜Ändern Sie das Standardfeld für die Benutzerauthentifizierung.🎜🎜Manchmal müssen wir das Standardfeld für die Benutzerauthentifizierung in andere Felder ändern, z. B. indem wir das Feld Benutzername als Authentifizierungsfeld verwenden. In Laravel müssen wir an folgenden Stellen Änderungen vornehmen: 🎜

Ändern Sie die Datenbankmigrationsdatei

🎜Zuerst müssen wir die Datenbankmigrationsdatei der users-Tabelle ändern, die von generiert wurde Laravel, Änderung Das Feld email wird in das Feld username geändert, z. B. die folgende Migrationsdatei: 🎜rrreee

Modelldatei ändern

🎜Als nächstes werden wir Sie müssen die Modelldatei Benutzer ändern, das Feld E-Mail in das Feld Benutzername ändern: 🎜rrreee

Anmeldecontroller ändern🎜Abschließend müssen wir uns noch beim Controller anmelden und das Feld Benutzername zur Authentifizierung verwenden. In Laravel ist der Login-Controller standardmäßig app/Http/Controllers/Auth/LoginController.php. Wir müssen der Datei den folgenden Code hinzufügen: 🎜rrreee🎜Zu diesem Zeitpunkt haben wir alle Vorgänge zur Verwendung des Felds username als Authentifizierungsfeld abgeschlossen. Wenn sich ein Benutzer anmeldet oder registriert, verwendet Laravel das Feld username zur Authentifizierung. 🎜🎜Zusammenfassung🎜🎜Die von Laravel standardmäßig verwendeten Benutzerauthentifizierungsfelder sind email und password. Manchmal müssen wir jedoch die Standardauthentifizierungsfelder in andere Felder ändern. In diesem Artikel wird beschrieben, wie Sie das Benutzerauthentifizierungsfeld in ein Benutzername-Feld ändern. Durch Änderungen an der Datenbankmigrationsdatei, der Modelldatei und dem Controller haben wir das Feld username erfolgreich als Authentifizierungsfeld implementiert. Diese Maßnahme hilft uns nicht nur, spezielle Geschäftsanforderungen zu erfüllen, sondern verbessert auch die Benutzererfahrung bei der Verwendung der Anwendung. 🎜

Das obige ist der detaillierte Inhalt vonSo ändern Sie Benutzerauthentifizierungsfelder in Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage