阅读(518) (11)

Laravel 8 身份验证契约

2021-06-29 15:28:34 更新

我们已经剖析了 UserProvider 的每个方法。下面再来看看 Authenticatable 契约。切记,用户提供器的 retrieveByIdretrieveByTokenretrieveByCredentials 方法将返回此接口的实例:

<?php

namespace Illuminate\Contracts\Auth;

interface Authenticatable
{
    public function getAuthIdentifierName();
    public function getAuthIdentifier();
    public function getAuthPassword();
    public function getRememberToken();
    public function setRememberToken($value);
    public function getRememberTokenName();
}

这个接口很简单。 getAuthIdentifierName 方法应该返回用户 「主键」 列的名字, getAuthIdentifier 方法则返回用户 「主键」。在 MySQL 后台,它会是自增主键。 getAuthPassword 方法应该返回用户的哈希密码。此接口允许身份验证系统与任一 User 类一直工作,不管使用的是哪种 ORM 或抽象存储层。默认情况下,Laravel 的 app\Models 目录会包含一个实现了此接口的 User 类,你可以以这个实现示例作为参考。