Laravel 5.3用户模型中的CanResetPassword

时间:2016-10-24 10:20:27

标签: laravel laravel-5 laravel-5.3

我正在将我的应用程序从Laravel 5.1转换为5.3。我不确定如何编辑用户模型中的CanResetPassword部分。

这是我的laravel 5.1中的user.php文件:

namespace App\Models;

use Illuminate\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;

class User extends Model implements AuthenticatableContract, CanResetPasswordContract
{
    use Authenticatable, SoftDeletes, CanResetPassword;
    ...
}

现在,我不确定将其更改为Laravel 5.3时需要哪些编辑。

Laravel 5.3用户模型如下:

namespace App\Models;

use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Database\Eloquent\SoftDeletes;

class User extends Authenticatable
{
    use Notifiable, SoftDeletes;
}

当我读到documentation时,它说:

  

在使用Laravel的密码重置功能之前,您的用户必须这样做   使用Illuminate \ Notifications \ Notifiable trait。

哪个已经存在。

  

要开始使用,请验证您的App \ User模型是否实现了   照亮\合同\ Auth \ CanResetPassword合同。当然,   框架中包含的App \ User模型已经实现了这一点   接口,并使用Illuminate \ Auth \ Passwords \ CanResetPassword   trait包含实现接口所需的方法。

我不明白,因为第一句话说要执行CanResetPassword合同,但第二句说它已经实施了。从上面的引用中,是否意味着我不需要包含CanResetPassword,因为用户模型已经实现了这个接口?

有人可以向我展示我需要对Laravel 5.3中的用户模型进行哪些编辑以进行此密码重置吗?

1 个答案:

答案 0 :(得分:3)

正如文档所说,Authenticatable类(Illuminate\Foundation\Auth\User)实际上包含CanResetPassword特征。它还包括AuthenticatableAuthorizable特征。

您问题中的Laravel 5.3示例就是您需要的所有内容。

希望这有帮助!