php - 如何覆盖/添加到 Laravel 中的密码代理?

标签 php laravel-5

使用 Laravel 5.2

我需要覆盖几个功能/向密码重置过程添加一些新内容。我知道我可以使用现成的密码 Controller 覆盖 Illuminate\Foundation\Auth\ResetsPasswords 中的功能。

我还需要在 Illuminate\Contracts\Auth\PasswordBroker 中进行更改。我的目标是收到一封邀请电子邮件,用于设置使用现有密码重置功能的初始密码。唯一的问题是函数 sendResetLink

此函数获取密码 token 并通过重置密码电子邮件 View 发送电子邮件。我仍然需要密码重置功能,但我无法收到带有“重置密码”字样的邀请电子邮件。

我该怎么做?我想我可以复制和调整重置类的功能以使用电子邮件的邀请 View ,但我不知道如何扩展代理类来完成这项工作。

最佳答案

我也在为同样的事情苦苦挣扎。我向我的自定义 PasswordBroker 添加了一个 setEmailView() 方法,并在 AuthController 中发送重置链接之前调用了该方法,但这破坏了常规密码重置功能。<​​br/> 所以,我放弃了所有这些,转而采用更简单的方法。在 AuthController.php 中,将变量注入(inject)密码模板。

view()->composer('auth.emails.password', function($view) {
    $view->with(['register'=>true]);
});
Password::sendResetLink(['email'=>$data['email']], function($message) {
    $message->subject('Registration Email');
});

然后,在模板 auth/emails/password.blade.php 中

@if ( isset($register) )
    Whatever you want to say in registration Email.
@else
    Normal password reset Email here.
@endif

关于php - 如何覆盖/添加到 Laravel 中的密码代理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35519949/

相关文章:

php - 如何通过id查询数据库中的所有条目?

php - Laravel 5.2 模型用户->发票->发票详细信息

php - Laravel 5 路由仅适用于斜杠

php - Laravel 如何在查询结果中添加新字段

php - 在彩票系统内均匀分配奖金

php - 在 php 中分解一个字符串,不包括大括号内的 ', '

php - 遍历 JSON(添加 HTML)

php - Laravel Eloquent 查询 'with'

api - 使用 JWT(JSON Web token )设置 token 过期的 RESTful API

php - MD5、密码散列和盐位